2026-03-24 - 2026-06-24
Overview
3 Releases published by 1 user
Published
development
MokoSuiteCross (VERSION: 01.08.01-dev)
Published
stable
Published
release-candidate
7 Pull requests merged by 1 user
Merged
#180 Release v01.06.00: Full ACL system, workflow cleanup, housekeeping
Merged
#179 Fix: duplicate license warning, wiki folder cleanup
Merged
#166 Release v01.05.00: Instagram, YouTube, Share Content, delete, templates, competitive roadmap
Merged
#148 chore: remove automation directory
Merged
#145 Fix: add missing system plugins to package manifest, remove old src/ (#137)
Merged
#144 Release 01.02.00: MokoSuiteCross rebrand, bug fixes, infrastructure
Merged
#127 fix: remove deprecated .mokogitea/manifest.xml
101 Issues closed from 1 user
Closed
#130 Add missing default templates for 16 service types
Closed
#134 Update 32 existing test issues: replace MokoJoomCross references with MokoSuiteCross
Closed
#136 Access control: add access.xml for component ACL permissions
Closed
#146 Deep scan: duplicate curl, type bugs, and security hardening across service plugins
Closed
#137 Package manifest missing plg_system_mokosuitecross_events and plg_system_mokosuitecross_gallery
Closed
#128 Rename all MOKOJOOMCROSS language keys to MOKOSUITECROSS
Closed
#138 Rename Joomla events from onMokoJoomCross* to onMokoSuiteCross*
Closed
#139 Fix duplicate curl_setopt_array calls and undefined variable bugs in 4 service plugins
Closed
#51 Retry mechanism for failed posts
Closed
#49 Scheduling UI for timed cross-posts
Closed
#50 Cross-post analytics dashboard
Closed
#48 System plugin hooks for Calendar and Gallery content types
Closed
#47 TikTok service plugin — Content Posting API
Closed
#45 RSS Feed service plugin — dedicated cross-post feed
Closed
#46 Constant Contact service plugin — Email Campaigns
Closed
#44 Matrix/Element service plugin
Closed
#42 Hashnode service plugin — GraphQL API
Closed
#43 Blogger service plugin — Google Blogger API
Closed
#40 Dev.to service plugin — Forem API
Closed
#41 Ghost service plugin — Admin API
Closed
#39 ActivityPub service plugin — generic Fediverse posting
Closed
#38 Nostr service plugin — decentralized protocol
Closed
#36 Tumblr service plugin — Posts API
Closed
#37 ConvertKit service plugin — Broadcasts
Closed
#35 Ntfy service plugin — Push notifications
Closed
#33 Brevo (Sendinblue) service plugin — Email Campaigns
Closed
#34 WordPress service plugin — REST API cross-posting
Closed
#31 Reddit service plugin — Submit API
Closed
#32 SendGrid service plugin — Marketing Campaigns
Closed
#30 Pinterest service plugin — Pins API
Closed
#28 Google Chat service plugin — Webhooks
Closed
#29 Medium service plugin — Publishing API
Closed
#26 Google Business Profile service plugin
Closed
#27 WhatsApp Business service plugin — Cloud API
Closed
#24 Microsoft Teams service plugin — Incoming Webhooks
Closed
#25 Threads (Meta) service plugin — Threads API
Closed
#23 Generic Webhook service plugin — universal connector
Closed
#22 Load help articles to WaaS live site
Closed
#20 Cross-post analytics dashboard
Closed
#21 OAuth flow for services requiring browser auth
Closed
#19 Selective cross-posting per article
Closed
#18 Activity logs view and log retention
Closed
#16 WebServices REST API — full CRUD endpoints
Closed
#17 Message template management UI
Closed
#15 Mailchimp service plugin — Campaigns API
Closed
#14 Bluesky service plugin — AT Protocol integration
Closed
#13 Mastodon service plugin — API integration
Closed
#11 Post queue processor — retry logic and scheduling
Closed
#12 LinkedIn service plugin — Share API integration
Closed
#9 X/Twitter service plugin — API v2 integration
Closed
#10 Slack service plugin — Incoming Webhooks
Closed
#7 Facebook service plugin — Graph API integration
Closed
#8 Discord service plugin — Webhook integration
Closed
#5 Admin component — Dashboard with stats and migration
Closed
#6 Perfect Publisher Pro migration tool
Closed
#3 Admin component — Services CRUD
Closed
#4 Admin component — Post Queue view
Closed
#1 Core cross-posting engine — dispatch articles to service plugins
Closed
#2 Telegram service plugin — Bot API integration
Closed
#125 Enhancement: Google Business plugin uses deprecated API v4
Closed
#119 Enhancement: 8 stub service plugins need real API implementations
Closed
#124 Enhancement: Teams plugin uses deprecated Office 365 Connectors webhook
Closed
#117 Performance: N+1 queries in renderTemplate() for category/author/tags
Closed
#118 Enhancement: Media attachments not wired up in most service plugins
Closed
#116 Performance: N+1 queries in processEvergreen()
Closed
#123 Bug: Missing curl_error() handling across all service plugins
Closed
#126 Bug: Ntfy supportsMedia() inconsistency
Closed
#122 Bug: updateLastRunTimestamp() race condition on component params
Closed
#121 Bug: schedule() allows re-scheduling already-posted items
Closed
#120 Bug: Dashboard migration link missing CSRF token
Closed
#114 Bug: hasPendingWork() backoff mismatch with processQueue()
Closed
#115 Bug: Race condition in timestamp-based queue lock fallback
Closed
#112 Security: OAuth credentials stored in plaintext JSON
Closed
#113 Bug: Broken <script> tag in dashboard template
Closed
#110 Bug: LinkedIn organization_id missing null-coalesce operator
Closed
#111 Security: SSRF risk in user-controlled service URLs
Closed
#108 Security: OauthController::authorize() missing CSRF check
Closed
#109 Security: REST dispatch endpoint missing ACL check
Closed
#107 Bug: testConnection() broken event dispatch and missing CSRF/ACL
Closed
#104 Security: No ACL/CSRF check on CSV export
Closed
#105 Security: Missing CSRF check on migration action
Closed
#99 Performance: CrossPostDispatcher makes N*M DB queries per dispatch
Closed
#102 Enhancement: DispatchController duplicates template render logic
Closed
#103 Enhancement: Deprecated Sidebar API usage
Closed
#97 Enhancement: Bluesky re-authenticates on every post
Closed
#98 Enhancement: Mailchimp campaigns are created but never sent
Closed
#96 Enhancement: Facebook token should not be in URL query string
Closed
#100 Bug: Duplicate category_rules table in install SQL
Closed
#101 Bug: Evergreen search uses fragile JSON LIKE query
Closed
#95 Bug: PostsController unvalidated datetime in scheduled_at
Closed
#93 Bug: processEvergreen() imports wrong plugin group
Closed
#94 Bug: PostsController::retryFailed() misses permanently_failed status
Closed
#92 Bug: MySQL-only GET_LOCK breaks PostgreSQL/SQLite compatibility
Closed
#90 Fixed: ServiceIconHelper XSS via unescaped extraClass
Closed
#91 Fixed: Article history HTML double-escaped in note field
Closed
#88 Fixed: WebhookService credential key mismatch and missing auth
Closed
#89 Fixed: POST method enforcement on REST dispatch endpoint
Closed
#86 Fixed: Joomla 5 event ArrayAccess pattern for service plugin collection
Closed
#87 Fixed: ServiceTable missing check() method
Closed
#84 Fixed: CSRF nonce on OAuth authorize/callback flow
Closed
#85 Fixed: Service credential fields never saved from form to DB
126 Issues created by 1 user
Opened
#1 Core cross-posting engine — dispatch articles to service plugins
Opened
#2 Telegram service plugin — Bot API integration
Opened
#3 Admin component — Services CRUD
Opened
#4 Admin component — Post Queue view
Opened
#5 Admin component — Dashboard with stats and migration
Opened
#6 Perfect Publisher Pro migration tool
Opened
#7 Facebook service plugin — Graph API integration
Opened
#8 Discord service plugin — Webhook integration
Opened
#9 X/Twitter service plugin — API v2 integration
Opened
#10 Slack service plugin — Incoming Webhooks
Opened
#11 Post queue processor — retry logic and scheduling
Opened
#12 LinkedIn service plugin — Share API integration
Opened
#13 Mastodon service plugin — API integration
Opened
#14 Bluesky service plugin — AT Protocol integration
Opened
#15 Mailchimp service plugin — Campaigns API
Opened
#16 WebServices REST API — full CRUD endpoints
Opened
#17 Message template management UI
Opened
#18 Activity logs view and log retention
Opened
#19 Selective cross-posting per article
Opened
#20 Cross-post analytics dashboard
Opened
#21 OAuth flow for services requiring browser auth
Opened
#22 Load help articles to WaaS live site
Opened
#23 Generic Webhook service plugin — universal connector
Opened
#24 Microsoft Teams service plugin — Incoming Webhooks
Opened
#25 Threads (Meta) service plugin — Threads API
Opened
#26 Google Business Profile service plugin
Opened
#27 WhatsApp Business service plugin — Cloud API
Opened
#28 Google Chat service plugin — Webhooks
Opened
#29 Medium service plugin — Publishing API
Opened
#30 Pinterest service plugin — Pins API
Opened
#31 Reddit service plugin — Submit API
Opened
#32 SendGrid service plugin — Marketing Campaigns
Opened
#33 Brevo (Sendinblue) service plugin — Email Campaigns
Opened
#34 WordPress service plugin — REST API cross-posting
Opened
#35 Ntfy service plugin — Push notifications
Opened
#36 Tumblr service plugin — Posts API
Opened
#37 ConvertKit service plugin — Broadcasts
Opened
#38 Nostr service plugin — decentralized protocol
Opened
#39 ActivityPub service plugin — generic Fediverse posting
Opened
#40 Dev.to service plugin — Forem API
Opened
#41 Ghost service plugin — Admin API
Opened
#42 Hashnode service plugin — GraphQL API
Opened
#43 Blogger service plugin — Google Blogger API
Opened
#44 Matrix/Element service plugin
Opened
#45 RSS Feed service plugin — dedicated cross-post feed
Opened
#46 Constant Contact service plugin — Email Campaigns
Opened
#47 TikTok service plugin — Content Posting API
Opened
#48 System plugin hooks for Calendar and Gallery content types
Opened
#49 Scheduling UI for timed cross-posts
Opened
#50 Cross-post analytics dashboard
Opened
#51 Retry mechanism for failed posts
Opened
#84 Fixed: CSRF nonce on OAuth authorize/callback flow
Opened
#85 Fixed: Service credential fields never saved from form to DB
Opened
#86 Fixed: Joomla 5 event ArrayAccess pattern for service plugin collection
Opened
#87 Fixed: ServiceTable missing check() method
Opened
#88 Fixed: WebhookService credential key mismatch and missing auth
Opened
#89 Fixed: POST method enforcement on REST dispatch endpoint
Opened
#90 Fixed: ServiceIconHelper XSS via unescaped extraClass
Opened
#91 Fixed: Article history HTML double-escaped in note field
Opened
#92 Bug: MySQL-only GET_LOCK breaks PostgreSQL/SQLite compatibility
Opened
#93 Bug: processEvergreen() imports wrong plugin group
Opened
#94 Bug: PostsController::retryFailed() misses permanently_failed status
Opened
#95 Bug: PostsController unvalidated datetime in scheduled_at
Opened
#96 Enhancement: Facebook token should not be in URL query string
Opened
#97 Enhancement: Bluesky re-authenticates on every post
Opened
#98 Enhancement: Mailchimp campaigns are created but never sent
Opened
#99 Performance: CrossPostDispatcher makes N*M DB queries per dispatch
Opened
#100 Bug: Duplicate category_rules table in install SQL
Opened
#101 Bug: Evergreen search uses fragile JSON LIKE query
Opened
#102 Enhancement: DispatchController duplicates template render logic
Opened
#103 Enhancement: Deprecated Sidebar API usage
Opened
#104 Security: No ACL/CSRF check on CSV export
Opened
#105 Security: Missing CSRF check on migration action
Opened
#107 Bug: testConnection() broken event dispatch and missing CSRF/ACL
Opened
#108 Security: OauthController::authorize() missing CSRF check
Opened
#109 Security: REST dispatch endpoint missing ACL check
Opened
#110 Bug: LinkedIn organization_id missing null-coalesce operator
Opened
#111 Security: SSRF risk in user-controlled service URLs
Opened
#112 Security: OAuth credentials stored in plaintext JSON
Opened
#113 Bug: Broken <script> tag in dashboard template
Opened
#114 Bug: hasPendingWork() backoff mismatch with processQueue()
Opened
#115 Bug: Race condition in timestamp-based queue lock fallback
Opened
#116 Performance: N+1 queries in processEvergreen()
Opened
#117 Performance: N+1 queries in renderTemplate() for category/author/tags
Opened
#118 Enhancement: Media attachments not wired up in most service plugins
Opened
#119 Enhancement: 8 stub service plugins need real API implementations
Opened
#120 Bug: Dashboard migration link missing CSRF token
Opened
#121 Bug: schedule() allows re-scheduling already-posted items
Opened
#122 Bug: updateLastRunTimestamp() race condition on component params
Opened
#123 Bug: Missing curl_error() handling across all service plugins
Opened
#124 Enhancement: Teams plugin uses deprecated Office 365 Connectors webhook
Opened
#125 Enhancement: Google Business plugin uses deprecated API v4
Opened
#126 Bug: Ntfy supportsMedia() inconsistency
Opened
#128 Rename all MOKOJOOMCROSS language keys to MOKOSUITECROSS
Opened
#129 Implement Nostr WebSocket relay publishing
Opened
#130 Add missing default templates for 16 service types
Opened
#131 Add delete/unpublish from remote platform capability
Opened
#132 Create PHPUnit test suite
Opened
#133 Site frontend: cross-post status display on articles
Opened
#134 Update 32 existing test issues: replace MokoJoomCross references with MokoSuiteCross
Opened
#135 Build system: package build creates proper Joomla package ZIP with sub-packages
Opened
#136 Access control: add access.xml for component ACL permissions
Opened
#137 Package manifest missing plg_system_mokosuitecross_events and plg_system_mokosuitecross_gallery
Opened
#138 Rename Joomla events from onMokoJoomCross* to onMokoSuiteCross*
Opened
#139 Fix duplicate curl_setopt_array calls and undefined variable bugs in 4 service plugins
Opened
#140 Add Instagram service plugin (plg_mokosuitecross_instagram)
Opened
#141 Add YouTube service plugin (plg_mokosuitecross_youtube)
Opened
#142 Mailchimp plugin: support Mailchimp templates and structured HTML templates
Opened
#146 Deep scan: duplicate curl, type bugs, and security hardening across service plugins
Opened
#149 MASTER: MokoSuiteCross v01.06.00 Release Testing
Opened
#151 Instagram: carousel, Reels, and Stories support
Opened
#152 Mastodon: scheduled posts, polls, and visibility levels
Opened
#153 Threads: carousel posts and polls support
Opened
#154 UTM auto-tagging for shared links
Opened
#155 Caption rotation: multiple template variants per service
Opened
#156 Social preview: show how posts will render on each platform
Opened
#157 Social image generator: auto-create branded OG images
Opened
#158 Bluesky: thread support and quote posts
Opened
#159 Link shortening: Bitly/Rebrandly integration
Opened
#160 Visual post calendar: admin dashboard view
Opened
#161 AI post generation: auto-generate platform-optimized captions
Opened
#162 Facebook: Reels, Stories, and scheduled post support
Opened
#163 X/Twitter: thread support and cost warning for URL posts
Opened
#164 TikTok: video and photo carousel posting
Opened
#165 Best time to post: engagement analytics and scheduling recommendations
Opened
#178 Test: Default templates use platform-specific placeholders