diff --git a/trunk/doc/CHANGELOG.md b/trunk/doc/CHANGELOG.md
index 62298a7a3..6df9844a2 100644
--- a/trunk/doc/CHANGELOG.md
+++ b/trunk/doc/CHANGELOG.md
@@ -7,6 +7,7 @@ The changelog for SRS.
## SRS 6.0 Changelog
+* v6.0, 2025-12-03, Merge [#4588](https://github.com/ossrs/srs/pull/4588): RTMP: Ignore FMLE start packet after flash publish. v6.0.184 (#4588)
* v6.0, 2025-10-21, Merge [#4535](https://github.com/ossrs/srs/issues/4535): Bridge: Fix heap-use-after-free in SrsCompositeBridge iterator. v6.0.183 (#4535)
* v6.0, 2025-10-17, Merge [#4534](https://github.com/ossrs/srs/pull/4534): HLS: Fix a iterator bug in hls_ctx cleanup function. v6.0.182 (#4534)
* v6.0, 2025-10-14, Disable sanitizer by default to fix memory leak. (#4364) v6.0.181
diff --git a/trunk/src/app/srs_app_rtmp_conn.cpp b/trunk/src/app/srs_app_rtmp_conn.cpp
index 0e79a8c30..e49ec3011 100644
--- a/trunk/src/app/srs_app_rtmp_conn.cpp
+++ b/trunk/src/app/srs_app_rtmp_conn.cpp
@@ -1173,6 +1173,11 @@ srs_error_t SrsRtmpConn::handle_publish_message(SrsSharedPtr& sou
// for flash, any packet is republish.
if (info->type == SrsRtmpConnFlashPublish) {
+ if (dynamic_cast(pkt.get())) {
+ srs_warn("flash late FMLE start packet");
+ return err;
+ }
+
// flash unpublish.
// TODO: maybe need to support republish.
srs_trace("flash flash publish finished.");
diff --git a/trunk/src/core/srs_core_version6.hpp b/trunk/src/core/srs_core_version6.hpp
index 70d1a7a39..34c2638b0 100644
--- a/trunk/src/core/srs_core_version6.hpp
+++ b/trunk/src/core/srs_core_version6.hpp
@@ -9,6 +9,6 @@
#define VERSION_MAJOR 6
#define VERSION_MINOR 0
-#define VERSION_REVISION 183
+#define VERSION_REVISION 184
#endif