From fe9fa17005c48c2ff330962d03ede494d8e195d4 Mon Sep 17 00:00:00 2001 From: iequidoo Date: Sat, 24 Aug 2024 12:52:40 -0300 Subject: [PATCH 1/3] fix: Fix skip_smtp_greeting() (#5911) - Skip lines starting with "220-" (w/o whitespace at the end). - Don't forget to clear the buffer before reading the next line. --- src/smtp/connect.rs | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/smtp/connect.rs b/src/smtp/connect.rs index 788564e2d2..5c2917d5ee 100644 --- a/src/smtp/connect.rs +++ b/src/smtp/connect.rs @@ -99,11 +99,12 @@ pub(crate) async fn connect_stream( async fn skip_smtp_greeting(stream: &mut R) -> Result<()> { let mut line = String::with_capacity(512); loop { + line.clear(); let read = stream.read_line(&mut line).await?; if read == 0 { bail!("Unexpected EOF while reading SMTP greeting."); } - if line.starts_with("220- ") { + if line.starts_with("220-") { continue; } else if line.starts_with("220 ") { return Ok(()); @@ -207,3 +208,19 @@ async fn connect_insecure(addr: SocketAddr) -> Result> let session_stream: Box = Box::new(buffered_stream); Ok(session_stream) } + +#[cfg(test)] +mod tests { + use tokio::io::BufReader; + + use super::*; + + #[tokio::test(flavor = "multi_thread", worker_threads = 2)] + async fn test_skip_smtp_greeting() -> Result<()> { + let greeting = b"220-server261.web-hosting.com ESMTP Exim 4.96.2 #2 Sat, 24 Aug 2024 12:25:53 -0400 \r\n\ + 220-We do not authorize the use of this system to transport unsolicited,\r\n\ + 220 and/or bulk e-mail.\r\n"; + let mut buffered_stream = BufReader::new(&greeting[..]); + skip_smtp_greeting(&mut buffered_stream).await + } +} From 775edab7b1dd103ad5191abdf905a72db4431dcc Mon Sep 17 00:00:00 2001 From: link2xt Date: Sat, 24 Aug 2024 15:36:58 +0000 Subject: [PATCH 2/3] feat: update preloaded DNS cache --- src/net/dns.rs | 454 +++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 399 insertions(+), 55 deletions(-) diff --git a/src/net/dns.rs b/src/net/dns.rs index aa5e9f2817..b1b203201f 100644 --- a/src/net/dns.rs +++ b/src/net/dns.rs @@ -1,6 +1,7 @@ //! DNS resolution and cache. use anyhow::{Context as _, Result}; +use std::collections::HashMap; use std::net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr}; use std::str::FromStr; use tokio::net::lookup_host; @@ -9,6 +10,7 @@ use tokio::time::timeout; use super::load_connection_timestamp; use crate::context::Context; use crate::tools::time; +use once_cell::sync::Lazy; /// Inserts entry into DNS cache /// or updates existing one with a new timestamp. @@ -106,6 +108,399 @@ pub(crate) async fn update_connect_timestamp( Ok(()) } +static DNS_PRELOAD: Lazy>> = Lazy::new(|| { + HashMap::from([ + ( + "mail.sangham.net", + vec![ + IpAddr::V4(Ipv4Addr::new(159, 69, 186, 85)), + IpAddr::V6(Ipv6Addr::new(0x2a01, 0x4f8, 0xc17, 0x798c, 0, 0, 0, 1)), + ], + ), + ( + "nine.testrun.org", + vec![ + IpAddr::V4(Ipv4Addr::new(116, 202, 233, 236)), + IpAddr::V4(Ipv4Addr::new(128, 140, 126, 197)), + IpAddr::V4(Ipv4Addr::new(49, 12, 116, 128)), + IpAddr::V6(Ipv6Addr::new(0x2a01, 0x4f8, 0x241, 0x4ce8, 0, 0, 0, 2)), + ], + ), + ( + "disroot.org", + vec![IpAddr::V4(Ipv4Addr::new(178, 21, 23, 139))], + ), + ( + "imap.gmail.com", + vec![ + IpAddr::V4(Ipv4Addr::new(142, 250, 110, 108)), + IpAddr::V4(Ipv4Addr::new(142, 250, 110, 109)), + IpAddr::V4(Ipv4Addr::new(66, 102, 1, 108)), + IpAddr::V4(Ipv4Addr::new(66, 102, 1, 109)), + IpAddr::V6(Ipv6Addr::new(0x2a00, 0x1450, 0x400c, 0xc1f, 0, 0, 0, 0x6c)), + IpAddr::V6(Ipv6Addr::new(0x2a00, 0x1450, 0x400c, 0xc1f, 0, 0, 0, 0x6d)), + ], + ), + ( + "smtp.gmail.com", + vec![ + IpAddr::V4(Ipv4Addr::new(142, 250, 110, 109)), + IpAddr::V6(Ipv6Addr::new(0x2a00, 0x1450, 0x4013, 0xc04, 0, 0, 0, 0x6c)), + ], + ), + ( + "mail.autistici.org", + vec![ + IpAddr::V4(Ipv4Addr::new(198, 167, 222, 108)), + IpAddr::V4(Ipv4Addr::new(82, 94, 249, 234)), + IpAddr::V4(Ipv4Addr::new(93, 190, 126, 19)), + ], + ), + ( + "smtp.autistici.org", + vec![ + IpAddr::V4(Ipv4Addr::new(198, 167, 222, 108)), + IpAddr::V4(Ipv4Addr::new(82, 94, 249, 234)), + IpAddr::V4(Ipv4Addr::new(93, 190, 126, 19)), + ], + ), + ( + "daleth.cafe", + vec![IpAddr::V4(Ipv4Addr::new(37, 27, 6, 204))], + ), + ( + "imap.163.com", + vec![IpAddr::V4(Ipv4Addr::new(111, 124, 203, 45))], + ), + ( + "smtp.163.com", + vec![IpAddr::V4(Ipv4Addr::new(103, 129, 252, 45))], + ), + ( + "imap.aol.com", + vec![ + IpAddr::V4(Ipv4Addr::new(212, 82, 101, 33)), + IpAddr::V4(Ipv4Addr::new(87, 248, 98, 69)), + ], + ), + ( + "smtp.aol.com", + vec![IpAddr::V4(Ipv4Addr::new(87, 248, 97, 31))], + ), + ( + "mail.arcor.de", + vec![IpAddr::V4(Ipv4Addr::new(2, 207, 150, 234))], + ), + ( + "imap.arcor.de", + vec![IpAddr::V4(Ipv4Addr::new(2, 207, 150, 230))], + ), + ( + "imap.fastmail.com", + vec![ + IpAddr::V4(Ipv4Addr::new(103, 168, 172, 43)), + IpAddr::V4(Ipv4Addr::new(103, 168, 172, 58)), + ], + ), + ( + "smtp.fastmail.com", + vec![ + IpAddr::V4(Ipv4Addr::new(103, 168, 172, 45)), + IpAddr::V4(Ipv4Addr::new(103, 168, 172, 60)), + ], + ), + ( + "imap.gmx.net", + vec![ + IpAddr::V4(Ipv4Addr::new(212, 227, 17, 170)), + IpAddr::V4(Ipv4Addr::new(212, 227, 17, 186)), + ], + ), + ( + "imap.mail.de", + vec![IpAddr::V4(Ipv4Addr::new(62, 201, 172, 16))], + ), + ( + "smtp.mailbox.org", + vec![IpAddr::V4(Ipv4Addr::new(185, 97, 174, 196))], + ), + ( + "imap.mailbox.org", + vec![IpAddr::V4(Ipv4Addr::new(185, 97, 174, 199))], + ), + ( + "imap.naver.com", + vec![IpAddr::V4(Ipv4Addr::new(125, 209, 238, 153))], + ), + ( + "imap.ouvaton.coop", + vec![IpAddr::V4(Ipv4Addr::new(194, 36, 166, 20))], + ), + ( + "imap.purelymail.com", + vec![IpAddr::V4(Ipv4Addr::new(18, 204, 123, 63))], + ), + ( + "imap.tiscali.it", + vec![IpAddr::V4(Ipv4Addr::new(213, 205, 33, 10))], + ), + ( + "smtp.tiscali.it", + vec![IpAddr::V4(Ipv4Addr::new(213, 205, 33, 13))], + ), + ( + "imap.web.de", + vec![ + IpAddr::V4(Ipv4Addr::new(212, 227, 17, 162)), + IpAddr::V4(Ipv4Addr::new(212, 227, 17, 178)), + ], + ), + ( + "imap.ziggo.nl", + vec![IpAddr::V4(Ipv4Addr::new(84, 116, 6, 3))], + ), + ( + "imap.zoho.eu", + vec![IpAddr::V4(Ipv4Addr::new(185, 230, 214, 25))], + ), + ( + "imaps.bluewin.ch", + vec![ + IpAddr::V4(Ipv4Addr::new(16, 62, 253, 42)), + IpAddr::V4(Ipv4Addr::new(16, 63, 141, 244)), + IpAddr::V4(Ipv4Addr::new(16, 63, 146, 183)), + ], + ), + ( + "mail.buzon.uy", + vec![IpAddr::V4(Ipv4Addr::new(185, 101, 93, 79))], + ), + ( + "mail.ecloud.global", + vec![IpAddr::V4(Ipv4Addr::new(95, 217, 246, 96))], + ), + ( + "mail.ende.in.net", + vec![IpAddr::V4(Ipv4Addr::new(95, 217, 5, 72))], + ), + ( + "mail.gmx.net", + vec![ + IpAddr::V4(Ipv4Addr::new(212, 227, 17, 168)), + IpAddr::V4(Ipv4Addr::new(212, 227, 17, 190)), + ], + ), + ( + "mail.infomaniak.com", + vec![ + IpAddr::V4(Ipv4Addr::new(83, 166, 143, 44)), + IpAddr::V4(Ipv4Addr::new(83, 166, 143, 45)), + ], + ), + ( + "mail.mymagenta.at", + vec![IpAddr::V4(Ipv4Addr::new(80, 109, 253, 241))], + ), + ( + "mail.nubo.coop", + vec![IpAddr::V4(Ipv4Addr::new(79, 99, 201, 10))], + ), + ( + "mail.riseup.net", + vec![ + IpAddr::V4(Ipv4Addr::new(198, 252, 153, 70)), + IpAddr::V4(Ipv4Addr::new(198, 252, 153, 71)), + ], + ), + ( + "mail.systemausfall.org", + vec![ + IpAddr::V4(Ipv4Addr::new(51, 75, 71, 249)), + IpAddr::V4(Ipv4Addr::new(80, 153, 252, 42)), + ], + ), + ( + "mail.systemli.org", + vec![IpAddr::V4(Ipv4Addr::new(93, 190, 126, 36))], + ), + ( + "mehl.cloud", + vec![IpAddr::V4(Ipv4Addr::new(95, 217, 223, 172))], + ), + ( + "mx.freenet.de", + vec![ + IpAddr::V4(Ipv4Addr::new(195, 4, 92, 210)), + IpAddr::V4(Ipv4Addr::new(195, 4, 92, 211)), + IpAddr::V4(Ipv4Addr::new(195, 4, 92, 212)), + IpAddr::V4(Ipv4Addr::new(195, 4, 92, 213)), + ], + ), + ( + "newyear.aktivix.org", + vec![IpAddr::V4(Ipv4Addr::new(162, 247, 75, 192))], + ), + ( + "pimap.schulon.org", + vec![IpAddr::V4(Ipv4Addr::new(194, 77, 246, 20))], + ), + ( + "posteo.de", + vec![ + IpAddr::V4(Ipv4Addr::new(185, 67, 36, 168)), + IpAddr::V4(Ipv4Addr::new(185, 67, 36, 169)), + ], + ), + ( + "psmtp.schulon.org", + vec![IpAddr::V4(Ipv4Addr::new(194, 77, 246, 20))], + ), + ( + "secureimap.t-online.de", + vec![ + IpAddr::V4(Ipv4Addr::new(194, 25, 134, 114)), + IpAddr::V4(Ipv4Addr::new(194, 25, 134, 115)), + IpAddr::V4(Ipv4Addr::new(194, 25, 134, 50)), + IpAddr::V4(Ipv4Addr::new(194, 25, 134, 51)), + ], + ), + ( + "securesmtp.t-online.de", + vec![ + IpAddr::V4(Ipv4Addr::new(194, 25, 134, 110)), + IpAddr::V4(Ipv4Addr::new(194, 25, 134, 46)), + ], + ), + ( + "smtp.aliyun.com", + vec![IpAddr::V4(Ipv4Addr::new(47, 246, 136, 232))], + ), + ( + "smtp.mail.de", + vec![IpAddr::V4(Ipv4Addr::new(62, 201, 172, 21))], + ), + ( + "smtp.mail.ru", + vec![ + IpAddr::V4(Ipv4Addr::new(217, 69, 139, 160)), + IpAddr::V4(Ipv4Addr::new(94, 100, 180, 160)), + ], + ), + ( + "imap.mail.yahoo.com", + vec![ + IpAddr::V4(Ipv4Addr::new(87, 248, 103, 8)), + IpAddr::V4(Ipv4Addr::new(212, 82, 101, 24)), + ], + ), + ( + "smtp.mail.yahoo.com", + vec![IpAddr::V4(Ipv4Addr::new(87, 248, 97, 36))], + ), + ( + "imap.mailo.com", + vec![IpAddr::V4(Ipv4Addr::new(213, 182, 54, 20))], + ), + ( + "smtp.mailo.com", + vec![IpAddr::V4(Ipv4Addr::new(213, 182, 54, 20))], + ), + ( + "smtp.naver.com", + vec![IpAddr::V4(Ipv4Addr::new(125, 209, 238, 155))], + ), + ( + "smtp.ouvaton.coop", + vec![IpAddr::V4(Ipv4Addr::new(194, 36, 166, 20))], + ), + ( + "smtp.purelymail.com", + vec![IpAddr::V4(Ipv4Addr::new(18, 204, 123, 63))], + ), + ( + "imap.qq.com", + vec![IpAddr::V4(Ipv4Addr::new(43, 129, 255, 54))], + ), + ( + "smtp.qq.com", + vec![IpAddr::V4(Ipv4Addr::new(43, 129, 255, 54))], + ), + ( + "imap.rambler.ru", + vec![ + IpAddr::V4(Ipv4Addr::new(81, 19, 77, 169)), + IpAddr::V4(Ipv4Addr::new(81, 19, 77, 171)), + IpAddr::V4(Ipv4Addr::new(81, 19, 77, 168)), + IpAddr::V4(Ipv4Addr::new(81, 19, 77, 170)), + ], + ), + ( + "smtp.rambler.ru", + vec![ + IpAddr::V4(Ipv4Addr::new(81, 19, 77, 165)), + IpAddr::V4(Ipv4Addr::new(81, 19, 77, 167)), + IpAddr::V4(Ipv4Addr::new(81, 19, 77, 166)), + IpAddr::V4(Ipv4Addr::new(81, 19, 77, 164)), + ], + ), + ( + "imap.vivaldi.net", + vec![IpAddr::V4(Ipv4Addr::new(31, 209, 137, 15))], + ), + ( + "smtp.vivaldi.net", + vec![IpAddr::V4(Ipv4Addr::new(31, 209, 137, 12))], + ), + ( + "imap.vodafonemail.de", + vec![IpAddr::V4(Ipv4Addr::new(2, 207, 150, 230))], + ), + ( + "smtp.vodafonemail.de", + vec![IpAddr::V4(Ipv4Addr::new(2, 207, 150, 234))], + ), + ( + "smtp.web.de", + vec![ + IpAddr::V4(Ipv4Addr::new(213, 165, 67, 108)), + IpAddr::V4(Ipv4Addr::new(213, 165, 67, 124)), + ], + ), + ( + "imap.yandex.com", + vec![IpAddr::V4(Ipv4Addr::new(77, 88, 21, 125))], + ), + ( + "smtp.yandex.com", + vec![IpAddr::V4(Ipv4Addr::new(77, 88, 21, 158))], + ), + ( + "smtp.ziggo.nl", + vec![IpAddr::V4(Ipv4Addr::new(84, 116, 6, 3))], + ), + ( + "smtp.zoho.eu", + vec![IpAddr::V4(Ipv4Addr::new(185, 230, 212, 164))], + ), + ( + "smtpauths.bluewin.ch", + vec![IpAddr::V4(Ipv4Addr::new(195, 186, 120, 54))], + ), + ( + "stinpriza.net", + vec![IpAddr::V4(Ipv4Addr::new(5, 9, 122, 184))], + ), + ( + "undernet.uy", + vec![IpAddr::V4(Ipv4Addr::new(167, 62, 254, 153))], + ), + ( + "webbox222.server-home.org", + vec![IpAddr::V4(Ipv4Addr::new(91, 203, 111, 88))], + ), + ]) +}); + /// Load hardcoded cache if everything else fails. /// /// See and @@ -114,61 +509,10 @@ pub(crate) async fn update_connect_timestamp( /// In the future we may pre-resolve all provider database addresses /// and build them in. fn load_hardcoded_cache(hostname: &str, port: u16) -> Vec { - match hostname { - "mail.sangham.net" => { - vec![ - SocketAddr::new( - IpAddr::V6(Ipv6Addr::new(0x2a01, 0x4f8, 0xc17, 0x798c, 0, 0, 0, 1)), - port, - ), - SocketAddr::new(IpAddr::V4(Ipv4Addr::new(159, 69, 186, 85)), port), - ] - } - "nine.testrun.org" => { - vec![ - SocketAddr::new( - IpAddr::V6(Ipv6Addr::new(0x2a01, 0x4f8, 0x241, 0x4ce8, 0, 0, 0, 2)), - port, - ), - SocketAddr::new(IpAddr::V4(Ipv4Addr::new(116, 202, 233, 236)), port), - ] - } - "disroot.org" => { - vec![SocketAddr::new( - IpAddr::V4(Ipv4Addr::new(178, 21, 23, 139)), - port, - )] - } - "mail.riseup.net" => { - vec![ - SocketAddr::new(IpAddr::V4(Ipv4Addr::new(198, 252, 153, 70)), port), - SocketAddr::new(IpAddr::V4(Ipv4Addr::new(198, 252, 153, 71)), port), - ] - } - "imap.gmail.com" => { - vec![ - SocketAddr::new( - IpAddr::V6(Ipv6Addr::new(0x2a00, 0x1450, 0x400c, 0xc1f, 0, 0, 0, 0x6c)), - port, - ), - SocketAddr::new( - IpAddr::V6(Ipv6Addr::new(0x2a00, 0x1450, 0x400c, 0xc1f, 0, 0, 0, 0x6d)), - port, - ), - SocketAddr::new(IpAddr::V4(Ipv4Addr::new(142, 250, 110, 109)), port), - SocketAddr::new(IpAddr::V4(Ipv4Addr::new(142, 250, 110, 108)), port), - ] - } - "smtp.gmail.com" => { - vec![ - SocketAddr::new( - IpAddr::V6(Ipv6Addr::new(0x2a00, 0x1450, 0x4013, 0xc04, 0, 0, 0, 0x6c)), - port, - ), - SocketAddr::new(IpAddr::V4(Ipv4Addr::new(142, 250, 110, 109)), port), - ] - } - _ => Vec::new(), + if let Some(ips) = DNS_PRELOAD.get(hostname) { + ips.iter().map(|ip| SocketAddr::new(*ip, port)).collect() + } else { + Vec::new() } } From 495337743af791933f67f12a910396b6bf59035e Mon Sep 17 00:00:00 2001 From: link2xt Date: Sat, 24 Aug 2024 21:42:49 +0000 Subject: [PATCH 3/3] chore(release): prepare for 1.142.9 --- CHANGELOG.md | 11 +++++++++++ Cargo.lock | 10 +++++----- Cargo.toml | 2 +- deltachat-ffi/Cargo.toml | 2 +- deltachat-jsonrpc/Cargo.toml | 2 +- deltachat-jsonrpc/typescript/package.json | 2 +- deltachat-repl/Cargo.toml | 2 +- deltachat-rpc-client/pyproject.toml | 2 +- deltachat-rpc-server/Cargo.toml | 2 +- deltachat-rpc-server/npm-package/package.json | 2 +- package.json | 2 +- python/pyproject.toml | 2 +- release-date.in | 2 +- 13 files changed, 27 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ff947fee22..b35be3c6fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # Changelog +## [1.142.9] - 2024-08-24 + +### Fixes + +- Fix reading of multiline SMTP greetings ([#5911](https://github.com/deltachat/deltachat-core-rust/pull/5911)). + +### Features / Changes + +- Update preloaded DNS cache. + ## [1.142.8] - 2024-08-21 ### Fixes @@ -4774,3 +4784,4 @@ https://github.com/deltachat/deltachat-core-rust/pulls?q=is%3Apr+is%3Aclosed [1.142.6]: https://github.com/deltachat/deltachat-core-rust/compare/v1.142.5...v1.142.6 [1.142.7]: https://github.com/deltachat/deltachat-core-rust/compare/v1.142.6...v1.142.7 [1.142.8]: https://github.com/deltachat/deltachat-core-rust/compare/v1.142.7...v1.142.8 +[1.142.9]: https://github.com/deltachat/deltachat-core-rust/compare/v1.142.8...v1.142.9 diff --git a/Cargo.lock b/Cargo.lock index a74de862df..6a5a04bc98 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1353,7 +1353,7 @@ dependencies = [ [[package]] name = "deltachat" -version = "1.142.8" +version = "1.142.9" dependencies = [ "ansi_term", "anyhow", @@ -1444,7 +1444,7 @@ dependencies = [ [[package]] name = "deltachat-jsonrpc" -version = "1.142.8" +version = "1.142.9" dependencies = [ "anyhow", "async-channel 2.3.1", @@ -1469,7 +1469,7 @@ dependencies = [ [[package]] name = "deltachat-repl" -version = "1.142.8" +version = "1.142.9" dependencies = [ "ansi_term", "anyhow", @@ -1484,7 +1484,7 @@ dependencies = [ [[package]] name = "deltachat-rpc-server" -version = "1.142.8" +version = "1.142.9" dependencies = [ "anyhow", "deltachat", @@ -1513,7 +1513,7 @@ dependencies = [ [[package]] name = "deltachat_ffi" -version = "1.142.8" +version = "1.142.9" dependencies = [ "anyhow", "deltachat", diff --git a/Cargo.toml b/Cargo.toml index f5007813d0..47d81ef23c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "deltachat" -version = "1.142.8" +version = "1.142.9" edition = "2021" license = "MPL-2.0" rust-version = "1.77" diff --git a/deltachat-ffi/Cargo.toml b/deltachat-ffi/Cargo.toml index 41f16eddd4..2aacf84cc9 100644 --- a/deltachat-ffi/Cargo.toml +++ b/deltachat-ffi/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "deltachat_ffi" -version = "1.142.8" +version = "1.142.9" description = "Deltachat FFI" edition = "2018" readme = "README.md" diff --git a/deltachat-jsonrpc/Cargo.toml b/deltachat-jsonrpc/Cargo.toml index c86ab0644d..785bedaba0 100644 --- a/deltachat-jsonrpc/Cargo.toml +++ b/deltachat-jsonrpc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "deltachat-jsonrpc" -version = "1.142.8" +version = "1.142.9" description = "DeltaChat JSON-RPC API" edition = "2021" default-run = "deltachat-jsonrpc-server" diff --git a/deltachat-jsonrpc/typescript/package.json b/deltachat-jsonrpc/typescript/package.json index a4cc331747..9cc6c2053d 100644 --- a/deltachat-jsonrpc/typescript/package.json +++ b/deltachat-jsonrpc/typescript/package.json @@ -58,5 +58,5 @@ }, "type": "module", "types": "dist/deltachat.d.ts", - "version": "1.142.8" + "version": "1.142.9" } diff --git a/deltachat-repl/Cargo.toml b/deltachat-repl/Cargo.toml index 97830a6c61..b2c06451b3 100644 --- a/deltachat-repl/Cargo.toml +++ b/deltachat-repl/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "deltachat-repl" -version = "1.142.8" +version = "1.142.9" license = "MPL-2.0" edition = "2021" repository = "https://github.com/deltachat/deltachat-core-rust" diff --git a/deltachat-rpc-client/pyproject.toml b/deltachat-rpc-client/pyproject.toml index a77cac333f..ab469407ec 100644 --- a/deltachat-rpc-client/pyproject.toml +++ b/deltachat-rpc-client/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "deltachat-rpc-client" -version = "1.142.8" +version = "1.142.9" description = "Python client for Delta Chat core JSON-RPC interface" classifiers = [ "Development Status :: 5 - Production/Stable", diff --git a/deltachat-rpc-server/Cargo.toml b/deltachat-rpc-server/Cargo.toml index 0c733ff039..98537886ad 100644 --- a/deltachat-rpc-server/Cargo.toml +++ b/deltachat-rpc-server/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "deltachat-rpc-server" -version = "1.142.8" +version = "1.142.9" description = "DeltaChat JSON-RPC server" edition = "2021" readme = "README.md" diff --git a/deltachat-rpc-server/npm-package/package.json b/deltachat-rpc-server/npm-package/package.json index 1a6cf8350d..a7e12ba45a 100644 --- a/deltachat-rpc-server/npm-package/package.json +++ b/deltachat-rpc-server/npm-package/package.json @@ -15,5 +15,5 @@ }, "type": "module", "types": "index.d.ts", - "version": "1.142.8" + "version": "1.142.9" } diff --git a/package.json b/package.json index 5f6332690d..22929983b4 100644 --- a/package.json +++ b/package.json @@ -55,5 +55,5 @@ "test:mocha": "mocha node/test/test.mjs --growl --reporter=spec --bail --exit" }, "types": "node/dist/index.d.ts", - "version": "1.142.8" + "version": "1.142.9" } diff --git a/python/pyproject.toml b/python/pyproject.toml index 1e804cb913..a1dd4c08b2 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "deltachat" -version = "1.142.8" +version = "1.142.9" description = "Python bindings for the Delta Chat Core library using CFFI against the Rust-implemented libdeltachat" readme = "README.rst" requires-python = ">=3.7" diff --git a/release-date.in b/release-date.in index d54dd1227c..84c5282c9d 100644 --- a/release-date.in +++ b/release-date.in @@ -1 +1 @@ -2024-08-21 \ No newline at end of file +2024-08-24 \ No newline at end of file