@alteriom/painlessmesh 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +144 -0
- package/LICENSE +674 -0
- package/README.md +434 -0
- package/RELEASE_GUIDE.md +419 -0
- package/docs/DOCUMENTATION_MIGRATION_PLAN.md +176 -0
- package/docs/README.md +71 -0
- package/docs/alteriom/overview.md +508 -0
- package/docs/api/core-api.md +607 -0
- package/docs/architecture/mesh-architecture.md +379 -0
- package/docs/architecture/plugin-system.md +517 -0
- package/docs/getting-started/first-mesh.md +410 -0
- package/docs/getting-started/installation.md +275 -0
- package/docs/getting-started/quickstart.md +158 -0
- package/docs/improvements/README.md +69 -0
- package/docs/troubleshooting/common-issues.md +521 -0
- package/docs/troubleshooting/faq.md +473 -0
- package/docs/tutorials/basic-examples.md +718 -0
- package/docs/wiki/API-Reference.md +246 -0
- package/docs/wiki/Complete-Documentation.md +123 -0
- package/examples/alteriom/README.md +82 -0
- package/examples/alteriom/alteriom.ino +186 -0
- package/examples/alteriom/alteriom_sensor_node.ino +184 -0
- package/examples/alteriom/alteriom_sensor_package.hpp +128 -0
- package/examples/alteriom/improved_sensor_node.ino +246 -0
- package/examples/alteriom/platformio.ini +25 -0
- package/examples/basic/basic.ino +66 -0
- package/examples/basic/platformio.ini +25 -0
- package/examples/bridge/bridge.ino +51 -0
- package/examples/bridge/platformio.ini +25 -0
- package/examples/echoNode/echoNode.ino +33 -0
- package/examples/echoNode/platformio.ini +25 -0
- package/examples/logClient/logClient.ino +109 -0
- package/examples/logClient/platformio.ini +25 -0
- package/examples/logServer/logServer.ino +81 -0
- package/examples/logServer/platformio.ini +25 -0
- package/examples/mqttBridge/mqttBridge.ino +118 -0
- package/examples/mqttBridge/platformio.ini +26 -0
- package/examples/namedMesh/namedMesh.ino +97 -0
- package/examples/namedMesh/platformio.ini +25 -0
- package/examples/otaReceiver/otaReceiver.ino +79 -0
- package/examples/otaReceiver/platformio.ini +25 -0
- package/examples/otaSender/nodemcu32s_connections.JPG +0 -0
- package/examples/otaSender/otaSender.ino +151 -0
- package/examples/otaSender/platformio.ini +25 -0
- package/examples/startHere/platformio.ini +25 -0
- package/examples/startHere/startHere.ino +159 -0
- package/examples/webServer/platformio.ini +27 -0
- package/examples/webServer/webServer.ino +89 -0
- package/keywords.txt +49 -0
- package/library.json +34 -0
- package/library.properties +11 -0
- package/package.json +78 -0
- package/src/AlteriomPainlessMesh.h +98 -0
- package/src/arduino/wifi.hpp +365 -0
- package/src/boost/asynctcp.hpp +279 -0
- package/src/painlessMesh.h +70 -0
- package/src/painlessMeshSTA.cpp +236 -0
- package/src/painlessMeshSTA.h +58 -0
- package/src/painlessTaskOptions.h +4 -0
- package/src/painlessmesh/base64.hpp +111 -0
- package/src/painlessmesh/buffer.hpp +229 -0
- package/src/painlessmesh/callback.hpp +91 -0
- package/src/painlessmesh/configuration.hpp +77 -0
- package/src/painlessmesh/connection.hpp +192 -0
- package/src/painlessmesh/layout.hpp +188 -0
- package/src/painlessmesh/logger.hpp +158 -0
- package/src/painlessmesh/memory.hpp +120 -0
- package/src/painlessmesh/mesh.hpp +560 -0
- package/src/painlessmesh/metrics.hpp +323 -0
- package/src/painlessmesh/ntp.hpp +263 -0
- package/src/painlessmesh/ota.hpp +553 -0
- package/src/painlessmesh/plugin.hpp +188 -0
- package/src/painlessmesh/protocol.hpp +813 -0
- package/src/painlessmesh/router.hpp +322 -0
- package/src/painlessmesh/tcp.hpp +71 -0
- package/src/painlessmesh/validation.hpp +239 -0
- package/src/plugin/performance.hpp +214 -0
- package/src/plugin/remote.hpp +64 -0
- package/src/scheduler.cpp +10 -0
- package/src/wifi.cpp +2 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- TBD
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- TBD
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
- TBD
|
|
21
|
+
|
|
22
|
+
## [1.6.1] - 2025-09-29
|
|
23
|
+
|
|
24
|
+
### Added
|
|
25
|
+
|
|
26
|
+
- **Arduino Library Manager Support**: Updated library name to "Alteriom PainlessMesh" for better discoverability
|
|
27
|
+
- **NPM Package Publishing**: Complete NPM publication setup with dual registry support
|
|
28
|
+
- Public NPM registry: `@alteriom/painlessmesh`
|
|
29
|
+
- GitHub Packages registry: `@alteriom/painlessmesh` (scoped)
|
|
30
|
+
- Automated version consistency across library.properties, library.json, and package.json
|
|
31
|
+
- **GitHub Wiki Automation**: Automatic wiki synchronization on releases
|
|
32
|
+
- Home page generated from README.md
|
|
33
|
+
- API Reference with auto-generated documentation
|
|
34
|
+
- Examples page with links to repository examples
|
|
35
|
+
- Installation guide for multiple platforms
|
|
36
|
+
- **Enhanced Release Workflow**: Comprehensive publication automation
|
|
37
|
+
- NPM publishing to both public and GitHub Packages registries
|
|
38
|
+
- GitHub Wiki updates with structured documentation
|
|
39
|
+
- Arduino Library Manager submission instructions
|
|
40
|
+
- Release validation with multi-file version consistency
|
|
41
|
+
- **Arduino IDE Support**: Added keywords.txt for syntax highlighting
|
|
42
|
+
- **Distribution Documentation**: Complete guides for all publication channels
|
|
43
|
+
- RELEASE_SUMMARY.md template for release notes
|
|
44
|
+
- TRIGGER_RELEASE.md for step-by-step release instructions
|
|
45
|
+
- Enhanced RELEASE_GUIDE.md with comprehensive publication workflow
|
|
46
|
+
- **Version Management**: Enhanced bump-version script
|
|
47
|
+
- Updates all three version files simultaneously (library.properties, library.json, package.json)
|
|
48
|
+
- Comprehensive version consistency validation
|
|
49
|
+
- Clear instructions for NPM and GitHub Packages publication
|
|
50
|
+
|
|
51
|
+
### Changed
|
|
52
|
+
- **Library Name**: Updated from "Painless Mesh" to "Alteriom PainlessMesh" for Arduino Library Manager
|
|
53
|
+
- **Release Process**: Streamlined to support multiple package managers
|
|
54
|
+
- Single commit with "release:" prefix triggers full publication pipeline
|
|
55
|
+
- Automated testing, building, and publishing across all channels
|
|
56
|
+
- Wiki documentation automatically synchronized
|
|
57
|
+
- **CI/CD Pipeline**: Enhanced with NPM publication capabilities
|
|
58
|
+
- Dual NPM registry publishing (public + GitHub Packages)
|
|
59
|
+
- Automated wiki updates with generated content
|
|
60
|
+
- Comprehensive pre-release validation
|
|
61
|
+
- **Documentation Structure**: Reorganized for multi-channel distribution
|
|
62
|
+
- Clear separation between automatic and manual processes
|
|
63
|
+
- Platform-specific installation instructions
|
|
64
|
+
- Troubleshooting guides for each distribution channel
|
|
65
|
+
|
|
66
|
+
### Fixed
|
|
67
|
+
- **NPM Publishing**: Fixed registry configuration issues that prevented NPM publication
|
|
68
|
+
- **GitHub Pages**: Improved workflow to handle cases where Pages is not configured
|
|
69
|
+
- **PlatformIO Build**: Fixed include paths in improved_sensor_node.ino example
|
|
70
|
+
- **Package Configuration**: Consistent version management across all package files
|
|
71
|
+
- **Release Documentation**: Complete coverage of all distribution channels
|
|
72
|
+
- **Version Validation**: Prevents releases with inconsistent version numbers
|
|
73
|
+
|
|
74
|
+
## [1.6.0] - 2025-09-29
|
|
75
|
+
|
|
76
|
+
### Added
|
|
77
|
+
- Enhanced Alteriom-specific package documentation and examples
|
|
78
|
+
- Updated repository URLs and metadata for Alteriom fork
|
|
79
|
+
- Improved release process documentation
|
|
80
|
+
- Fixed deprecated GitHub Actions in release workflow
|
|
81
|
+
- Added concurrency controls to prevent duplicate workflow runs
|
|
82
|
+
- Comprehensive Alteriom package documentation and quick start guide
|
|
83
|
+
|
|
84
|
+
### Changed
|
|
85
|
+
- Migrated from deprecated `actions/create-release@v1` to GitHub CLI for releases
|
|
86
|
+
- Updated library.properties and library.json to reflect Alteriom ownership
|
|
87
|
+
- Enhanced package descriptions to highlight Alteriom extensions
|
|
88
|
+
|
|
89
|
+
### Fixed
|
|
90
|
+
- Fixed deprecated GitHub Actions in release workflow
|
|
91
|
+
- Corrected undefined variable references in upload workflow steps
|
|
92
|
+
- Updated repository URLs from GitLab to GitHub in library files
|
|
93
|
+
|
|
94
|
+
## [1.5.6] - Current Release
|
|
95
|
+
|
|
96
|
+
### Features
|
|
97
|
+
- painlessMesh is a user-friendly library for creating mesh networks with ESP8266 and ESP32 devices
|
|
98
|
+
- Automatic routing and network management
|
|
99
|
+
- JSON-based messaging system
|
|
100
|
+
- Time synchronization across all nodes
|
|
101
|
+
- Support for coordinated behaviors like synchronized displays
|
|
102
|
+
- Sensor network patterns for IoT applications
|
|
103
|
+
|
|
104
|
+
### Platforms Supported
|
|
105
|
+
- ESP32 (espressif32)
|
|
106
|
+
- ESP8266 (espressif8266)
|
|
107
|
+
|
|
108
|
+
### Dependencies
|
|
109
|
+
- ArduinoJson ^7.4.2
|
|
110
|
+
- TaskScheduler ^3.8.5
|
|
111
|
+
- AsyncTCP ^3.4.7 (ESP32)
|
|
112
|
+
- ESPAsyncTCP ^2.0.0 (ESP8266)
|
|
113
|
+
|
|
114
|
+
### Alteriom Extensions
|
|
115
|
+
- SensorPackage for environmental monitoring
|
|
116
|
+
- CommandPackage for device control
|
|
117
|
+
- StatusPackage for health monitoring
|
|
118
|
+
- Type-safe message handling
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Release Notes
|
|
123
|
+
|
|
124
|
+
### How to Release
|
|
125
|
+
|
|
126
|
+
1. Update version in both `library.properties` and `library.json`
|
|
127
|
+
2. Add changes to this CHANGELOG.md under the new version
|
|
128
|
+
3. Commit with message starting with `release:` (e.g., `release: v1.6.0`)
|
|
129
|
+
4. Push to main branch
|
|
130
|
+
5. GitHub Actions will automatically:
|
|
131
|
+
- Create a git tag
|
|
132
|
+
- Generate GitHub release
|
|
133
|
+
- Package library for distribution
|
|
134
|
+
- Update documentation
|
|
135
|
+
|
|
136
|
+
### Version Numbering
|
|
137
|
+
|
|
138
|
+
This project follows [Semantic Versioning](https://semver.org/):
|
|
139
|
+
|
|
140
|
+
- **MAJOR** version when you make incompatible API changes
|
|
141
|
+
- **MINOR** version when you add functionality in a backwards compatible manner
|
|
142
|
+
- **PATCH** version when you make backwards compatible bug fixes
|
|
143
|
+
|
|
144
|
+
Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.
|