Skip to content

Releases: jimlunsford/bonumarkstream

Bonumark Stream v0.5.42

Choose a tag to compare

@jimlunsford jimlunsford released this 26 Jul 19:58

Bonumark Stream v0.5.42

Bonumark Stream v0.5.42 is the next public GitHub release after v0.5.30.

This release brings together the work completed from v0.5.31 through v0.5.42, including privacy-first analytics, privacy-safe media handling, root RSS discovery, Local Places, and a final release-hardening pass.

What changed since v0.5.30

Privacy-First Analytics

Bonumark Stream now includes self-hosted, cookieless analytics designed to provide useful traffic information without building visitor profiles.

The analytics work added:

  • privacy-first page and post view counting
  • dashboard summaries
  • deeper analytics tools in the admin area
  • bot and crawler filtering improvements
  • analytics retention and cleanup behavior
  • documentation and upgrade coverage

Migration 0012_privacy_first_analytics.php adds the required analytics storage.

Privacy-Safe Media

Media uploads received a privacy and safety pass focused on reducing accidental metadata exposure and predictable file naming.

The media work added:

  • randomized stored filenames
  • original filename preservation where needed for administration
  • image metadata stripping
  • stricter upload validation
  • privacy-oriented media settings
  • safer media processing and display behavior

Migration 0013_privacy_safe_media_uploads.php adds the required media settings and metadata support.

Root RSS Feed Discovery

Bonumark Stream now exposes and advertises the RSS feed correctly from the site root while preserving the /stream publishing structure.

This improves feed discovery for browsers, readers, crawlers, and visitors without changing the stream URL structure.

Local Places

Local Places adds private, reusable places for optional post location context without turning Bonumark Stream into a public location-tracking system.

The Local Places work includes:

  • one-time location consent
  • private reusable place records
  • current-location support
  • place creation and editing
  • optional place selection in the composer
  • post location snapshots that preserve historical display context
  • public display based on safe place labels rather than private coordinates
  • privacy protections for coordinates and consent data
  • admin navigation and interface polish
  • metadata alignment fixes

Migration 0014_local_places.php adds the Local Places schema and related settings.

GitHub Release Hardening

v0.5.42 completes the release-hardening work for this public package.

It fixes:

  • fresh installer database sessions now explicitly use UTC
  • the initial administrator verification timestamp now uses explicit UTC
  • missing v0.5.35 and v0.5.37 upgrade-guide sections
  • stale timestamp compatibility wording in the upgrade guide
  • the incorrect Local Places admin navigation label

It also adds smoke-test coverage for those issues, aligns all version and release references, rebuilds the release manifest, and verifies the final ZIP from a clean extraction.

Upgrade notes

The last public GitHub release was v0.5.30. The package includes the migrations needed for releases after that version:

  • 0012_privacy_first_analytics.php
  • 0013_privacy_safe_media_uploads.php
  • 0014_local_places.php

v0.5.42 adds no new database migration.

The upgrader is designed to preserve existing configuration, database records, posts, pages, drafts, revisions, users, comments, likes, media, uploads, themes, settings, analytics, API tokens, scheduled posts, cron records, and Local Places data.

Back up the site files and database before any production upgrade.

Requirements

Bonumark Stream remains a standalone, self-hosted PHP/MySQL microblog CMS intended for normal shared PHP/MySQL hosting.

See the included README and documentation for current installation, upgrade, API, remote posting, cron, analytics, media, and Local Places instructions.

Bonumark Stream v0.5.30

Choose a tag to compare

@jimlunsford jimlunsford released this 04 Jul 00:46

Bonumark Stream v0.5.30

This is the first public GitHub release since v0.5.0.

It includes the full v0.5.1 through v0.5.30 development line: PWA support, mobile share-to-post, persistent app login, scheduled posts, cron tooling, pinned posts, timezone reliability work, upgrade hardening, MariaDB compatibility fixes, and GitHub release cleanup.

Added

  • Installable PWA support with a dynamic web app manifest and conservative service worker.

  • Mobile share-to-post support for shared text and URLs. Shared content opens in the primary front-end composer for review and editing before publishing.

  • Optional Remember this device login persistence for app and mobile use.

  • Scheduled Stream posts from both the front-end composer and back-end editor.

  • A shared Scheduled Tasks system with:

    • server cron support
    • protected web cron support
    • public-traffic and signed-in browser fallback checks
    • task health reporting
    • manual task runs
    • retained execution history
  • Pinned Stream posts, including secure pin and unpin controls in the front end, editor, and admin post list.

  • A quieter front-end three-dot Post options menu for Edit, Pin to Stream, and Unpin from Stream actions.

  • Remote Posting API support for optional scheduled publishing through trusted clients.

  • PWA icons that follow the favicon selected in Site Identity, with safe fallback behavior for shared hosts without GD or Imagick.

Improved

  • The front-end composer remains the primary publishing experience, including mobile share-to-post and scheduling.
  • Back-end scheduling controls are cleaner and quieter. Save Draft and Post Now remain the primary actions until scheduling is intentionally selected.
  • Scheduled posts stay hidden from timelines, feeds, search, sitemaps, profiles, and static export until published.
  • Public post dates, scheduled times, dashboard timestamps, and cron history consistently display in the configured site timezone.
  • New database timestamps are stored canonically in UTC for reliable scheduling and server-independent time handling.
  • PWA metadata, icons, and service-worker cache behavior are more reliable after favicon or release changes.
  • Installer version output now reads from the packaged version marker.
  • GitHub-facing documentation, changelog coverage, contribution guidance, and security-reporting guidance have been expanded.

Fixed

  • Existing-post save failures on MySQL and MariaDB environments using native PDO prepared statements.
  • MariaDB upgrade failures caused by unsupported parameterized SHOW TABLES checks.
  • Legacy post-time display issues after the timezone runtime update.
  • Scheduled-post ordering and timestamp display in the admin post list.
  • Scheduled-task history timestamp display and mobile table readability.
  • Upgrade recovery behavior when an upgrade fails after database migrations begin.
  • PWA fallback behavior on shared hosts without image-processing extensions.
  • Web Share Target privacy handling by moving shared text and URLs out of GET query strings.
  • Session cookie scoping for subdirectory installations.
  • Anonymous like requests now require same-origin browser requests while retaining public likes and rate limits.
  • Raw exception details are no longer shown directly in admin notices.

Upgrade Notes

  • The built-in upgrader supports Bonumark Stream v0.4.0 and newer.
  • Existing v0.5.0 installations can upgrade through the normal built-in upgrade flow.
  • This release includes migrations related to remembered devices, scheduled posts, pinned posts, scheduled-task history, and upgrade safety.
  • Back up your database, uploaded media, configuration, and themes before upgrading.
  • No intentional breaking changes were introduced for supported v0.4.0+ installations.
  • Older v0.1.x, v0.2.x, and v0.3.x development packages should use a fresh v0.5.30 install instead of attempting an in-place upgrade.

Release Package

  • Clean single-root ZIP structure for predictable extraction.
  • Release manifest regenerated and verified.
  • Public documentation, OpenAPI metadata, API examples, installer copy, and version markers aligned to v0.5.30.
  • No live configuration, credentials, database dumps, logs, backups, or API tokens are included.

Bonumark Stream v0.5.0

Choose a tag to compare

@jimlunsford jimlunsford released this 13 Jun 16:39

Bonumark Stream v0.5.0 is the next public GitHub release after v0.4.5.

Highlights

  • Added the Remote Posting API foundation.
  • Added scoped bearer API tokens.
  • Added API audit logging and rate limiting.
  • Added GET /api/v1/status.
  • Added POST /api/v1/stream/posts.
  • Added remote draft creation.
  • Added optional direct publishing with confirmation behavior.
  • Added stream:draft, stream:publish, and media:upload token scopes.
  • Added idempotency support for safer remote posting.
  • Added POST /api/v1/media.
  • Added remote image upload by multipart form data and JSON base64.
  • Added POST /api/v1/media/import.
  • Added safe remote media import by public image URL.
  • Added support for embedding media into remote stream posts by media ID, media URL, public path, and structured media items.
  • Added one-step media upload/import plus post creation support.
  • Added OpenAPI schema updates.
  • Added ChatGPT Actions documentation.
  • Added remote posting client documentation for PowerShell, curl, Python, GitHub Actions, Apple Shortcuts, Zapier, Make, IFTTT, and generic no-code automation tools.
  • Added stronger smoke-test coverage for API routing, docs, scopes, idempotency, media upload/import documentation, and package integrity.
  • Cleaned up public-facing README, SECURITY, CONTRIBUTING, docs, metadata, changelog, and release manifest for the v0.5.0 GitHub release.

Remote Posting API

Bonumark Stream now includes a general Remote Posting API for site owners who want to create drafts, publish posts when allowed, upload media, import public image URLs, and embed media from trusted external tools.

This API is platform-neutral. It can be used from ChatGPT Actions, PowerShell, curl, Python scripts, GitHub Actions, Apple Shortcuts, Zapier, Make, IFTTT, and other tools that can send authenticated HTTPS requests.

Remote posting is disabled by default and uses scoped bearer tokens.

Remote media support

This release adds remote image handling for external clients.

Supported flows include:

  • Upload an image remotely.
  • Import a public image URL.
  • Get a returned media ID, URL, filename, alt text field, and markdown embed.
  • Create a stream post with existing uploaded media embedded.
  • Create a stream post while uploading or importing media in the same request.

Documentation

Included documentation covers:

  • Installation requirements
  • Fresh install expectations
  • Admin/commenter account model
  • Code-free theme system
  • Remote Posting API
  • ChatGPT Actions setup
  • Remote posting client examples
  • Security expectations
  • Upgrade expectations

Validation

The v0.5.0 package passed the non-database release checks:

  • PHP syntax check
  • JavaScript syntax check
  • JSON validation
  • CSS sanity check
  • Package smoke test
  • Fresh ZIP smoke test
  • Release manifest verification
  • ZIP integrity check

Bonumark Stream v0.4.5, Public Baseline Release

Choose a tag to compare

@jimlunsford jimlunsford released this 03 Jun 18:22

Bonumark Stream v0.4.5

Bonumark Stream v0.4.5 is the first clean public baseline for the v0.4.x release line.

Bonumark Stream is a self-hosted microblog CMS for publishing short-form posts on a site you control.

Important upgrade notice

Bonumark Stream v0.4.x is a clean-break release line.

Direct upgrades from older development packages, including v0.1.x, v0.2.x, and v0.3.x, are not supported.

If you are using an older development package, install Bonumark Stream v0.4.5 as a fresh installation.

The built-in upgrader is intended for Bonumark Stream v0.4.0 and newer going forward.

What this release establishes

This release establishes the current public foundation:

  • Fresh-install v0.4.x baseline
  • bms_ internal prefix
  • Database-first normal operation
  • Markdown retained for import, export, backup, and portability
  • Dynamic rendering by default
  • Static export retained as optional tooling
  • / as the real stream home
  • /stream/ as a supported alias
  • Admin as the sole publisher
  • Commenter accounts for comment/account/profile participation
  • No editor role
  • No author role
  • No multiuser publishing workflow
  • No review queue
  • No user-submitted drafts
  • No per-role media publishing rules
  • Midnight Ledger as the bundled reference theme
  • Code-free presentation themes
  • Core-owned rendering, routing, permissions, data access, and app behavior
  • Public likes remain unauthenticated and rate-limited
  • All included importers remain available

What changed in the v0.4.x cleanup line

The v0.4.x reset cleaned up the long development chain and prepared Bonumark Stream for public review.

Highlights:

  • Collapsed the old migration chain into a clean baseline
  • Removed automatic runtime Markdown fallback
  • Removed old malformed route recovery behavior
  • Removed executable theme templates from theme packages
  • Rebuilt the theme model around code-free presentation packages
  • Made Midnight Ledger the bundled reference theme
  • Cleaned theme admin language so themes are not described as executable templates or views
  • Removed multiuser publishing
  • Collapsed accounts to Admin and Commenter
  • Removed editor/author roles and publishing permissions for non-admin accounts
  • Removed review queue and submitted draft workflows
  • Removed per-role media publishing rules
  • Cleaned active docs of old development-version references
  • Removed old theme compatibility behavior
  • Removed old Markdown-runtime preservation baggage
  • Tightened package permissions
  • Rebuilt the GitHub-facing README
  • Added homepage, demo, and repository metadata
  • Regenerated the release manifest

Requirements

Minimum:

  • PHP 8.1 or newer
  • MySQL or MariaDB
  • PDO MySQL extension
  • ZIP extension
  • Apache or LiteSpeed recommended for included .htaccess rules

Recommended:

  • PHP 8.2 or newer
  • HTTPS enabled
  • Regular database and file backups

Installation

  1. Download the release ZIP attached below.
  2. Upload the package files to your web server.
  3. Visit install.php in your browser.
  4. Enter your database details.
  5. Create the first Admin account.
  6. Complete installation.
  7. Remove or lock the installer when prompted.

Do not use GitHub’s automatically generated source archive as the install package. Use the attached Bonumark Stream release ZIP.

Validation

The v0.4.5 package passed:

  • PHP syntax checks
  • JavaScript syntax checks
  • JSON validation
  • CSS brace/basic validation
  • Missing include scan
  • Missing function scan
  • Duplicate function/class scan
  • Route/file reference scan
  • Release manifest verification
  • ZIP integrity check
  • Built-in smoke test
  • Legacy leftover scan
  • Theme executable-file scan
  • Package permissions check

A live MySQL install test was not run in the build sandbox. Fresh-install testing should still be performed on the target hosting environment before treating this as production-ready.

Release asset

Download the attached file:

bonumark-stream-v0.4.5.zip

Bonumark Stream v0.3.12

Choose a tag to compare

@jimlunsford jimlunsford released this 29 May 06:50

Bonumark Stream v0.3.12, SEO Title Output Repair

This release fixes SEO title output across Bonumark Stream public pages.

The main issue was that browser-tab titles could be incomplete or duplicated. The homepage could show only the site title without the tagline, while some posts could output the site title more than once.

v0.3.12 centralizes SEO title generation so public titles are built consistently in one place.

What changed

  • Fixed homepage title output
  • Fixed single post title output
  • Fixed page title output
  • Fixed search, archive, profile, and account title output
  • Prevented duplicate site-title parts from appearing in browser tabs
  • Normalized Open Graph title output
  • Added and normalized Twitter title output
  • Added public head title cleanup so external themes cannot accidentally double-append the site title
  • Preserved older saved SEO title data by cleaning duplicated title parts during rendering
  • Added migration 0095_seo_title_output_repair.php
  • Updated version files, changelog, documentation, package metadata, and release manifest

Expected title behavior

Homepage:

Site Title | Tagline

Single posts:

Post Title | Site Title

Pages:

Page Title | Site Title

Search, archive, profile, and account pages now follow the same clean title pattern.

Audit status

The v0.3.12 release package was audited before release.

Checks completed:

  • Version files aligned at 0.3.12
  • Changelog top entry confirmed
  • Package metadata confirmed
  • Release manifest validated
  • Manifest checksums passed
  • ZIP integrity passed
  • Built-in smoke test passed

No release-blocking docs, version, changelog, package metadata, or manifest issues were found.

Bonumark Stream v0.3.11, Public Release Baseline Refresh

Choose a tag to compare

@jimlunsford jimlunsford released this 26 May 17:52

Bonumark Stream v0.3.11, Public Release Baseline Refresh

This release updates Bonumark Stream from the previous public GitHub release, v0.3.2, to v0.3.11.

This is a public release baseline refresh focused on upgrade safety, import reliability, theme independence, documentation alignment, and release integrity.

Highlights

  • Improved WordPress WXR import handling for featured media references
  • Added Site Identity favicon support
  • Added theme-independent favicon output so custom themes do not need special template support
  • Improved external theme preservation for future upgrades
  • Repaired Load More archive routing and pagination behavior
  • Cleaned up migration release integrity issues
  • Updated version files, changelog, package metadata, documentation, and release manifest

WordPress import improvements

Bonumark Stream now handles WordPress _thumbnail_id featured image references more cleanly during import preparation.

This improves imports where WordPress stores media as attachment references instead of inline image tags inside post content.

Site Identity favicon support

Admins can now manage a site favicon from Site Identity.

The favicon is treated as a core site identity setting, not a theme setting. Bonumark outputs favicon tags in both the admin and public frontend, including support for custom themes that do not explicitly print favicon tags.

External theme upgrade preservation

Upgrade cleanup logic has been improved so externally installed themes are preserved during future upgrades.

Load More and archive routing

This release includes fixes for Load More routing on archive pages so pagination resolves correctly instead of falling through to single-post slug routing or not-found behavior.

Release integrity cleanup

This release corrects historical migration documentation and version-setting inconsistencies found during the public release audit process.

Upgrade notes

If you previously installed the external Microblog Stream theme and upgraded through v0.3.8 or v0.3.9, you may need to reinstall the external theme one final time. Future upgrades after this release should preserve externally installed themes.

As always, back up your Bonumark Stream installation before upgrading.

Bonumark Stream v0.3.2 README Refresh

Choose a tag to compare

@jimlunsford jimlunsford released this 25 May 23:39

This is a documentation and package-manifest refresh for Bonumark Stream v0.3.2.

No application code, database migrations, installer behavior, upgrade behavior, or version number changed in this package. The internal software version remains v0.3.2.

What changed

  • Reworked the root README for a cleaner public GitHub presentation
  • Added the public demo link: https://demo.bonumark.org
  • Refocused the README around what Bonumark Stream is, why it exists, and who it is for
  • Simplified the quick start and documentation sections
  • Clarified features, requirements, architecture, public routes, admin areas, security notes, license, and repository information
  • Moved release-history emphasis out of the main README presentation
  • Regenerated the release manifest after the README update

Not changed

  • No code changes
  • No database changes
  • No migration changes
  • No installer changes
  • No upgrader changes
  • No version bump

Package notes

Use this package if you want the same v0.3.2 application release with the improved public-facing README and updated release manifest.

First Public GitHub Release, Bonumark Stream v0.3.2

Choose a tag to compare

@jimlunsford jimlunsford released this 25 May 17:54

First Public GitHub Release

This is the first public GitHub release of Bonumark Stream.

Bonumark Stream is a self-hosted PHP/MySQL microblog CMS built for owned short-form publishing. It gives site owners a clean timeline, backend publishing tools, Markdown support, media handling, profiles, comments, themes, imports, upgrades, and shared-hosting friendly installation.

This release establishes the public baseline for future development, issue tracking, tagged releases, and upgrade-ready packages.

What Bonumark Stream Includes

  • Self-hosted PHP/MySQL install
  • Shared-hosting compatible setup
  • Public microblog timeline
  • Stream posts and pages
  • Markdown support
  • Media uploads and media management
  • Public profiles and author pages
  • Comments and moderation
  • Public likes
  • User accounts
  • Invite and approval controls
  • Password recovery
  • Multiuser publishing controls
  • Draft and review workflow
  • Theme support
  • Theme settings
  • Import tools
  • Static export tools
  • Admin dashboard
  • System checks
  • Upgrade system
  • Release manifest validation

Why This Release Matters

This release marks the point where Bonumark Stream moves from private development into a public repository.

The goal is simple: give people a lightweight, understandable, self-hosted way to publish short-form content on their own site instead of depending entirely on rented platforms.

Bonumark Stream is still pre-1.0 software, but this release provides the first public foundation for testing, feedback, improvement, and future releases.

Version

This first public GitHub release is packaged as:

  • Version: 0.3.2
  • Package: bonumark-stream
  • License: AGPL-3.0-or-later
  • Environment: PHP/MySQL or MariaDB
  • Install type: shared-hosting friendly

Installation

Upload the package files to your server, visit install.php, enter your database information, create the first administrator account, then remove or lock the installer after setup.

Always back up files and database before upgrading an existing install.