Releases: adriankumpf/logger-telegram-backend
Releases · adriankumpf/logger-telegram-backend
Release list
v4.0.0
Breaking Changes
- Require Elixir 1.15 or later
- Validate required configuration during backend initialization and return an error when
:tokenor:chat_idis missing
Changes
- Require
finch0.22 or later when using the built-in HTTP client - Require
logger_backends1.0 or later - Test compatibility with Elixir 1.18 and OTP 27
Bug fixes
- Fix message truncation to respect Telegram 4096-character message limit after HTML parsing
- Preserve part of the message budget when truncating large metadata payloads
- Avoid rendering an empty
<pre>block when no metadata is included - Log send failures to stderr without emitting warning stacktrace noise
- Fix the HTTP client test filename typo
- Fix README and documentation typos
v3.0.0
Breaking Changes
- Migrate built-in HTTP from
hackneytoFinch - Replace the
:adapterwith the:clientoption - Remove the
:proxyoption
Changes
- Log a warning if sending fails
- Allow messages to be filtered by a metadata key
Bug fixes
- Escape metadata fields when sending messages
- Fix deprecation warnings on Elixir 1.15
Upgrade Instructions
Dependencies
Add :finch to your list of dependencies in mix.exs:
def deps do
[
{:logger_telegram_backend, "~> 3.0"},
{:finch, "~> 0.16"},
]
endAdding the backend
-
In your
Application.start/2callback, add theLoggerTelegramBackendbackend:def start(_type, _args) do + LoggerTelegramBackend.attach() -
Remove the
:backendsconfiguration from:logger:config :logger, - backends: [LoggerTelegramBackend, :console]
Config
Configuration is now done via the LoggerTelegramBackend key:
- config :logger, :telegram,
+ config :logger, LoggerTelegramBackend,
# ...HTTP client (optional)
-
Remove the
:adapterconfiguration -
Add the
:clientoption and pass your own module that implements theLoggerTelegramBackend.HTTPClientbehaviourconfig :logger, LoggerTelegramBackend, - adapter: {Tesla.Adapter.Gun, []} + client: MyGunAdapter
See the documentation for
LoggerTelegramBackend.HTTPClientfor more information.
Proxy (optional)
-
Remove the
:proxyconfiguration -
Add the
:client_pool_optsconfigurationconfig :logger, LoggerTelegramBackend, - proxy: "socks5://127.0.0.1:9050" + client_pool_opts: [conn_opts: [proxy: {:http, "127.0.0.1", 9050, []}]]
See Pool Configuration Options for further information.
Full Changelog: v2.0.1...v3.0.0
v2.0.1
v2.0.0
Changed
- Use tesla to make the underlying HTTP client configurable
Breaking Changes
-
Make hackney an optional dependency. To use the default
hackneybased adatper, add it to the list of dependencies:def deps do [ {:logger_telegram_backend, "~> 2.0.0"}, {:hackney, "~> 1.17"} ] end
v1.3.0
Changed
- Respect maximum message length to avoid MESSAGE_TOO_LONG errors
- Bump ex_doc from 0.20.2 to 0.21.1
v1.2.1
Changed
- Bump httpoison from 1.4.0 to 1.5.1
- Bump ex_doc from 0.19.1 to 0.20.2
v1.2.0
Added
- Add proxy support (from @mvalitov)
v1.1.0
Changed
- Remove dependency on
Poison: the success of a request is now solely determined by the HTTP status code. - Remove
GenStageand simplify the overall event handling logic - Update dependencies
v1.0.3
Added
- Add
@implattributes
Changed
- Update dependencies
- Format code
Fixed
- Fix typo in README