Changelog
What's new in OrdinaryMonday, release by release.
v0.5.0 — Groups, invitations & automated content moderation
Highlights
- Groups are here — create a group, discover public ones via search, and share posts in a members-only group feed
- Invite people to your group, or request to join; invitations can be accepted or declined right from the notification
- Group roles (Owner, Administrator, User) with member management and ownership transfer
- Make your group your own: custom colors and logo, per-group display names, categories, and optional anonymous posting
- Pinned posts and announcements in groups — announcements notify all members
- Tag your posts and groups, browse everything behind a tag, and filter group discovery by tag
- Moderation tools for group owners and admins: hide posts, mute members, and review a moderation log
Security & Privacy
- Automated content screening of new posts — clearly harmful content is blocked at posting time and the author is told why
- Your GDPR data export is now complete: it includes group memberships, registered devices, and your profile picture, and anonymous group posts stay anonymous in group-level exports
- Deleting your account or a photo post now also erases the image from storage
- Registration now records your consent to the Terms & Privacy Policy (GDPR Article 7)
- Deleting your account no longer deletes groups you created — ownership passes to another member instead (a group with no other members is closed)
- Group owners get a full audit log and a group-level GDPR data export
Bug Fixes
- Push notifications fixed on Android (no more "year 1" timestamps) and device registration made more reliable on iOS and Android
- The "Hang out" button works again after unfriending or declining, and re-sending a request no longer fails
- Fixed a reload loop when switching languages
- Invited users can now view a private group before accepting, and invitation buttons disappear once resolved
Infrastructure & Developer Experience
- Cache layer hardened for clustered Redis, and cache failures are now logged instead of silently ignored
- Database migrations now run through a tracked, idempotent migration runner
- A CI gate keeps the published API contract in sync with the backend
v0.4.0 — Connections-first feed, post audience controls & session security
Highlights
- Your feed now opens in Connections mode by default, with a friendly “you're all caught up” note at the end instead of an endless wall
- Choose a default audience for your posts (Everyone or Connections) — a one-time prompt on your first post, changeable anytime in Settings
- Change who can see a post after publishing, from the post menu
- Tap a photo in a post to view it full-screen
- Deleting a post now removes it from your feed instantly
Security & Privacy
- Session tokens hardened: refresh tokens are stored hashed, rotate safely on unstable connections, and confirmed token theft now revokes the whole session
- More reliable sign-in on the mobile apps — token storage and refresh are now atomic and race-free, so you stay logged in instead of being bounced to the login screen
- New public Child Safety Standards page, meeting Google Play child-safety policy requirements
Bug Fixes
- Fixed the All/Connections feed showing the wrong posts in some cases and occasionally skipping posts while scrolling
- The home page on phones now uses a compact menu instead of a crowded top bar, and gained an "Already have an account? Log in" link
- The home and login pages now follow your in-app language choice in the mobile apps, and signup legal links no longer restart the app
- Corrected the post edit window stated in the Terms & Conditions
Infrastructure & Developer Experience
- Backend build and full test suite now run on every pull request, with supply-chain security gates
- Safer production deploys: automated test and health gates with slot swap and a documented rollback path
- App Store and Play Store versions now derive automatically from release tags
v0.3.1 — Delete your own posts, security hardening & audit fixes
Highlights
- Delete your own posts — from the post menu, with a confirmation step
- Friendly error screens with a retry button — no more unrecoverable blank screen if something goes wrong, especially in the mobile apps
Security & Privacy
- Full dependency audit: all known vulnerable packages resolved, with automated weekly dependency updates and a CI gate to keep it that way
- Security headers and a strict Content-Security-Policy on the web app
- Verification and password-reset codes now come from a cryptographically secure generator
- Credentials and verification codes are redacted before request logging
- Rate limiting now applies per client instead of one shared global bucket
- Deleted and hidden posts no longer appear in user post lists, reply counts, or notification previews
- Secret scanning added to the build pipeline
Bug Fixes
- Clearer error messages — a friendly rate-limit notice in your language and a consistent error format across the API
- Verification and password-reset emails are sent in the background, so signup no longer waits on the mail server
Infrastructure & Developer Experience
- API versioning (/api/v1) with client version reporting, so future API changes cannot break older app releases
- Application Insights telemetry, deep health checks, and request correlation IDs
v0.3.0 — Native iOS & Android apps, user blocking & connections-only feed
Highlights
- Native mobile apps — OrdinaryMonday now runs as a native iOS and Android app built from the same codebase, in beta via TestFlight and Play internal testing
- Installable web app (PWA) with an install prompt and offline awareness
- Push notifications on iOS and Android
- Block users — block from any post or profile; their content disappears from your feed, search, and profiles (and yours from theirs), with a Blocked list under Connections to unblock
- Connections-only feed mode — switch the feed between All and Connections; a short connections feed is topped up with clearly marked suggested posts
- Native camera integration for photo posts on mobile
- Change your username and password from the settings page
- Public changelog page — what's new, release by release
Security & Privacy
- Blocking is silent and bidirectional — blocked users generate no notifications in either direction
- API access for the native apps restricted to explicit app origins
- Azure Key Vault secrets loaded in every environment
Bug Fixes
- Fixed top-of-screen UI hiding behind the iOS status bar and Dynamic Island, and bottom UI behind the home indicator
- Fixed the iOS app failing to reach the API ("Unable to connect")
- Replaced the placeholder splash screen with OrdinaryMonday branding and re-padded the app icons
- Fixed declining incoming connection requests
- Fixed admin user list pagination skipping entries across timezones
- Improved Norwegian translations
Infrastructure & Developer Experience
- Automated iOS TestFlight and Android Play Store release pipelines triggered by version tags
- Redis caching layer for feeds and hot lookups
- Frontend unit and component testing with Vitest and React Testing Library
- GitHub releases generated automatically from this changelog
v0.2.0 — Multi-language, email verification, profile photos & production launch
Highlights
- Multi-language support — English, German, Norwegian Bokmål, and French
- Email verification & password reset with 6-digit codes
- Profile photos — upload, display, and management across all post and user views
- Age verification — 18+ enforcement with birthdate validation on registration
- Legal compliance — Terms & Conditions, Privacy Policy, and Imprint pages with explicit consent on signup
- Post editing — edit your own posts within 15 minutes of posting
- Admin audit logs — per-user audit log viewer in the admin dashboard
- Production deployment — live at ordinarymonday.com
Security & Privacy
- Email addresses removed from user search results
- Logout now revokes tokens on the server
- Secrets managed via Azure Key Vault
- Permanent redirect from www.ordinarymonday.com to ordinarymonday.com
Bug Fixes
- Fixed infinite reload loop on Chrome when switching language
- Fixed language selection not working on Safari iOS
- Fixed photo duplication issue
- Fixed text overflow in notifications
- Fixed mobile login page UI collapse
Infrastructure & Developer Experience
- Docker-based local development environment
- Automated test environment setup
- Refactored API endpoint layer with shared error handling
- Expanded API documentation