Release Notes

Sisimai 5.3.0


2025/03/29

Sisimai 5.3.0 has been released. The main changes in this version include: fixes the completely and utterly broken module path, memory allocation improvements, updates in functions and methods related to SMTP reply codes.

Changes specific to the Perl version of Sisimai are indicated by Perl at the beginning of each item, changes specific to the Ruby version of Sisimai are indicated by Ruby, and changes specific to the Go version of Sisimai are indicated by Go.

And then, Sisimai 5 includes many changes that are not compatible with Version 4, so please check the Perl or Ruby version of your environment before installing or upgrading.

Changes

  • Go Corrected the completely and utterly broken module path. The module path has been replaced with libsisimai.org/sisimai/v5. Thanks to @inboxsphere #96 #98
  • Go Sisimai can be built with Go 1.24
  • Go Performance has improved by approximately 1.7x compared to v5.2.1.
    • Reduce struct and string copies, and the return types of several functions have been modified to return pointers to strings and structs. #76 #80 #83 #84 #85 #86 #87
    • fmt.Sprintf() usage has been decreased to improve performance. #78
    • Optimize the order of MTA modules. #88 #89
  • Go Refactor comments for all the functions, follow the godoc as possible. #75
  • Go Fix bug at the argument of fmt.Sprintf() in rfc3834.Inquire() function. #79
  • Go sis.Beforefact.Empty() has been renamed to IsEmpty() #82
  • Go SMTP reply code improvements #90 #92
    • Update the list of SMTP status codes in smtp/reply.
    • Implement AssosiatedWith() function in smtp/reply.
    • Implement IsExplicit() function in smtp/status.
  • Ruby Sisimai works on Ruby 3.4.