Releases: lanxuexing/sentry-dingtalk-notify
Releases · lanxuexing/sentry-dingtalk-notify
Release list
v2.1.0
v2.1.0 发布说明
✨ 核心功能:自定义消息模版
本次更新带来了用户呼声极高的 自定义 Markdown 模版 功能!现在,您可以完全掌控钉钉报警消息的样式和内容。
- 🎨 高度定制: 告别硬编码的默认格式,根据团队需求定制消息排版。
- 🔗 变量支持: 支持
{project},{title},{message},{level},{environment},{culprit},{url}等丰富的上下文变量。 - 🛡 智能兼容: 新增
{display_title}变量,自动包含自定义关键词,完美解决不加签机器人的安全验证问题。 - 🚀 平滑升级: 不配置模版时默认使用原版格式,现有用户升级 0 成本。
🛠 改进
- 文档: 在
README中增加了自定义模版的使用指南和 Markdown 换行小技巧。 - 体验: 优化了配置页面的 Help Text,直接提示可用变量。
v2.1.0 Release Notes
✨ Core Feature: Custom Message Templates
This update introduces the highly requested Custom Markdown Template feature! You can now fully control the layout and content of your DingTalk notifications.
- 🎨 Highly Customizable: Say goodbye to hardcoded formats. Tailor your message layout to fit your team's needs.
- 🔗 Variable Support: Supports rich variables like
{project},{title},{message},{level},{environment},{culprit},{url}. - 🛡 Smart Compatibility: Introduced
{display_title}variable which automatically includes the custom keyword, perfectly solving security verification issues for robots without secret signing. - 🚀 Smooth Upgrade: Defaults to the original format if no template is configured. Zero cost for existing users.
🛠 Improvements
- Documentation: Added guide for Custom Templates and Markdown tips in
README. - UX: Optimized Help Text in the configuration page to directly list available variables.
v2.0.1
v2.0.1 发布说明
✨ 核心功能
- 📝 精美排版: 发送包含项目、环境、报错级别、代码位置的富文本 Markdown 消息,关键信息一目了然。
- 🔒 安全验证: 完美支持钉钉机器人的 加签 (SEC) 和 自定义关键词 安全设置,保障消息发送的安全性与稳定性。
- 🤖 多机器人支持: 支持同时配置多个机器人 Webhook,可一次性将报警推送到不同的群组。
- 📱 强提醒机制: 支持配置手机号 @群成员(可 @所有人),确保重要报警不被遗漏。
- ⚡️ 灵活配置: 简单易用的配置界面,支持通过占位符跳过特定配置,适应多种使用场景。
📸 效果预览
ValueError: Division by zero
- 📦 Project: sentry-demo (Sentry)
- 🌍 Env: prod
- 🚦 Level: error
- 📍 Location:
app/utils/math.js
🚀 重大更新
- Entry Point 兼容性: 将 Entry Point 名称恢复为
sentry_dingtalk_notify,在指向新版DingTalkPlugin类的同时,确保与旧版本的完全向后兼容。 - 元数据升级: 更新了包的元数据(作者、邮箱、许可证),以匹配最新的维护者信息。
📦 CI/CD 与自动化
- 自动发布: 添加了 GitHub Actions 工作流,实现 PyPI 和 TestPyPI 的全自动发布。
- 可信发布 (Trusted Publishing): 实现了基于 OIDC 的安全无 Token 发布流程。
- 本地开发: 新增
.agent/workflows和scripts/publish_test.sh,以此加速本地开发和测试流程。
📄 文档
- 全面重构: 重写了
README.md和README_en.md,采用现代化布局、居中标题和高质量的文本预览,并支持中英文切换。 - 开发指南: 增加了专门的
LOCAL_DEV_GUIDE.md(中/英),涵盖 Docker 挂载、故障排查和部署步骤。 - 隐私保护: 对所有文档进行了脱敏处理,使用环境变量 (
$SENTRY_PATH,$PLUGIN_PATH) 替代硬编码路径。
🛠 修复与改进
- 依赖明确: 明确列出了
requests和sentry>=9.0.0依赖项。 - 版本一致性: 修复了 Sentry 界面显示旧版本号的问题,实现了
__version__.py单一数据源管理。 - 构建优化: 添加了完善的
.gitignore和MANIFEST.in,确保发布的包干净且完整。
v2.0.1 Release Notes
✨ Core Features
- 📝 Rich Formatting: Sends Markdown messages containing project, environment, error level, and code location for clear visibility.
- 🔒 Security Support: Fully supports DingTalk's Sign (SEC) and Custom Keyword security settings, ensuring reliable delivery.
- 🤖 Multi-Robot Support: Configure multiple robot Webhooks to push alerts to different groups simultaneously.
- 📱 Smart Mentions: Supports @mentioning group members via mobile number (or @ALL) to ensure critical alerts are seen.
- ⚡️ Flexible Configuration: Easy-to-use interface with support for skipping specific configurations via placeholders.
📸 Preview
ValueError: Division by zero
- 📦 Project: sentry-demo (Sentry)
- 🌍 Env: prod
- 🚦 Level: error
- 📍 Location:
app/utils/math.js
🚀 Major Updates
- Entry Point Compatibility: Restored endpoint name to
sentry_dingtalk_notifyto ensure full backward compatibility with previous versions while pointing to the modernDingTalkPluginclass. - Metadata Upgrade: Updated package metadata (Author, Email, License) to match the latest maintainer information.
📦 CI/CD & Automation
- Automated Publishing: Added GitHub Actions workflows for fully automated publishing to PyPI and TestPyPI.
- Trusted Publishing (OIDC): Implemented secure, token-less authentication for PyPI publishing.
- Local Development: Added
.agent/workflowsandscripts/publish_test.shto stream local development and testing.
📄 Documentation
- Complete Overhaul: Rewrote
README.mdandREADME_zh-CN.mdwith modern layout, centered headers, and high-fidelity text previews. - Developer Guides: Added dedicated
LOCAL_DEV_GUIDE.md(EN/CN) covering Docker mounting, troubleshooting, and deployment steps. - Privacy: Sanitized all documentation to use environment variables (
$SENTRY_PATH,$PLUGIN_PATH) instead of hardcoded paths.
🛠 Fixes & Improvements
- Requirements: Clarified
requestsandsentry>=9.0.0dependencies. - Version Consistency: Fixed incorrect version display in Sentry UI by implementing single-source versioning via
__version__.py. - Clean Build: Added comprehensive
.gitignoreandMANIFEST.into ensure clean and complete package distribution.
v2.0.0
v2.0.0 发布说明
✨ 核心功能
- 📝 精美排版: 发送包含项目、环境、报错级别、代码位置的富文本 Markdown 消息,关键信息一目了然。
- 🔒 安全验证: 完美支持钉钉机器人的 加签 (SEC) 和 自定义关键词 安全设置,保障消息发送的安全性与稳定性。
- 🤖 多机器人支持: 支持同时配置多个机器人 Webhook,可一次性将报警推送到不同的群组。
- 📱 强提醒机制: 支持配置手机号 @群成员(可 @所有人),确保重要报警不被遗漏。
- ⚡️ 灵活配置: 简单易用的配置界面,支持通过占位符跳过特定配置,适应多种使用场景。
📸 效果预览
ValueError: Division by zero
- 📦 Project: sentry-demo (Sentry)
- 🌍 Env: prod
- 🚦 Level: error
- 📍 Location:
app/utils/math.js
🚀 重大更新
- Entry Point 兼容性: 将 Entry Point 名称恢复为
sentry_dingtalk_notify,在指向新版DingTalkPlugin类的同时,确保与旧版本的完全向后兼容。 - 元数据升级: 更新了包的元数据(作者、邮箱、许可证),以匹配最新的维护者信息。
📦 CI/CD 与自动化
- 自动发布: 添加了 GitHub Actions 工作流,实现 PyPI 和 TestPyPI 的全自动发布。
- 可信发布 (Trusted Publishing): 实现了基于 OIDC 的安全无 Token 发布流程。
- 本地开发: 新增
.agent/workflows和scripts/publish_test.sh,以此加速本地开发和测试流程。
📄 文档
- 全面重构: 重写了
README.md和README_en.md,采用现代化布局、居中标题和高质量的文本预览,并支持中英文切换。 - 开发指南: 增加了专门的
LOCAL_DEV_GUIDE.md(中/英),涵盖 Docker 挂载、故障排查和部署步骤。 - 隐私保护: 对所有文档进行了脱敏处理,使用环境变量 (
$SENTRY_PATH,$PLUGIN_PATH) 替代硬编码路径。
🛠 修复与改进
- 依赖明确: 明确列出了
requests和sentry>=9.0.0依赖项。 - 构建优化: 添加了完善的
.gitignore和MANIFEST.in,确保发布的包干净且完整。
v2.0.0 Release Notes
✨ Core Features
- 📝 Rich Formatting: Sends Markdown messages containing project, environment, error level, and code location for clear visibility.
- 🔒 Security Support: Fully supports DingTalk's Sign (SEC) and Custom Keyword security settings, ensuring reliable delivery.
- 🤖 Multi-Robot Support: Configure multiple robot Webhooks to push alerts to different groups simultaneously.
- 📱 Smart Mentions: Supports @mentioning group members via mobile number (or @ALL) to ensure critical alerts are seen.
- ⚡️ Flexible Configuration: Easy-to-use interface with support for skipping specific configurations via placeholders.
📸 Preview
ValueError: Division by zero
- 📦 Project: sentry-demo (Sentry)
- 🌍 Env: prod
- 🚦 Level: error
- 📍 Location:
app/utils/math.js
🚀 Major Updates
- Entry Point Compatibility: Restored endpoint name to
sentry_dingtalk_notifyto ensure full backward compatibility with previous versions while pointing to the modernDingTalkPluginclass. - Metadata Upgrade: Updated package metadata (Author, Email, License) to match the latest maintainer information.
📦 CI/CD & Automation
- Automated Publishing: Added GitHub Actions workflows for fully automated publishing to PyPI and TestPyPI.
- Trusted Publishing (OIDC): Implemented secure, token-less authentication for PyPI publishing.
- Local Development: Added
.agent/workflowsandscripts/publish_test.shto stream local development and testing.
📄 Documentation
- Complete Overhaul: Rewrote
README.mdandREADME_zh-CN.mdwith modern layout, centered headers, and high-fidelity text previews. - Developer Guides: Added dedicated
LOCAL_DEV_GUIDE.md(EN/CN) covering Docker mounting, troubleshooting, and deployment steps. - Privacy: Sanitized all documentation to use environment variables (
$SENTRY_PATH,$PLUGIN_PATH) instead of hardcoded paths.
🛠 Fixes & Improvements
- Requirements: Clarified
requestsandsentry>=9.0.0dependencies. - Clean Build: Added comprehensive
.gitignoreandMANIFEST.into ensure clean and complete package distribution.
v1.1.1
v1.1.1: Robust Configuration & Enhanced Filtering
This release brings significant improvements to configuration reliability, keyword filtering logic, and documentation experience.
🚀 Highlights
- Robust Environment Fallback: Configuration now reliably falls back to system environment variables (via
os.getenv) when project-level settings are missing. This is critical for Docker/Kubernetes deployments. - Smart Keyword Filtering: Added support for comma-separated keywords (e.g.,
Critical, Error), making rule configuration simpler and more intuitive. - Dependency Optimization: Relaxed
sentryversion requirements to resolve potential installation conflicts in various environments.
📋 Changelog
✨ New Features
- Comma-Separated Support: You can now use commas to separate multiple keywords in
Include/Excludesettings. - Environment Variables: Enhanced logic to ensure
DINGTALK_WEBHOOKand other env vars are correctly read as defaults.
🐛 Bug Fixes
- Fixed an issue where filtering logic precedence was ambiguous.
- Resolved
NameErrorin edge cases during plugin initialization. - Fixed installation issues caused by strict version pinning (
sentry>=21.5.1).
📚 Documentation
- New Design: Revamped README.md with professional status badges, emojis, and better layout.
- Internationalization: Added complete English Documentation (README_EN.md).
⚙️ CI/CD
- Successfully migrated PyPI publishing workflow to Trusted Publishing (OIDC) for better security.
🇨🇳 更新摘要 (Chinese Summary)
v1.1.1 版本专注于提升插件的稳定性和易用性:
- 关键字过滤升级:现在支持使用逗号 (
,) 分隔多个关键字,配置更加灵活。 - 配置回退机制:优化了环境变量读取逻辑。当 Sentry 项目内未配置 Webhook 时,插件能更可靠地读取系统环境变量作为默认值,这对容器化部署非常友好。
- 文档焕新:新增了完整的英文文档,并对主文档进行了视觉升级(新增徽章、表格说明)。
- 兼容性修复:移除了对 Sentry 版本的硬性依赖限制,解决了部分版本的安装冲突。
📦 Upgrade
pip install --upgrade sentry-dingtalk-notifyFull Changelog: https://github.com/lanxuexing/sentry-dingtalk-notify/commits/1.1.1