mirror of
https://github.com/tanrax/org-social.el
synced 2026-01-08 06:03:34 +01:00
226 lines
11 KiB
Markdown
226 lines
11 KiB
Markdown
# 📝 Changelog
|
|
|
|
## 2.10
|
|
|
|
- **Org Social v1.6 Specification Support**:
|
|
- Post IDs can now be specified in the header: `** 2025-01-05T10:00:00+0100`
|
|
- New global metadata fields:
|
|
- `#+LOCATION:` - User location (city, country)
|
|
- `#+BIRTHDAY:` - User birthday in YYYY-MM-DD format
|
|
- `#+LANGUAGE:` - Space-separated language codes (ISO 639-1) the user speaks
|
|
- `#+PINNED:` - Post ID to pin to the top of the profile
|
|
- Profile UI now displays location (📍), birthday (🎂), and languages (🗣️)
|
|
- Pinned posts are highlighted with 📌 in profile view
|
|
- **ID Migration Tool**: New `org-social-migrate-ids-to-header` command (M-x)
|
|
|
|
## 2.9
|
|
|
|
- Feature: VISIBILITY property support (Org Social specification v1.5)
|
|
- Posts can now have `VISIBILITY:mention` to restrict visibility to mentioned users
|
|
- When creating a new post, the user is prompted to choose between "public" or "mention" visibility
|
|
- Posts with `VISIBILITY:mention` are only visible to the post author and users mentioned via `[[org-social:URL][name]]` links
|
|
- Posts with GROUP property ignore VISIBILITY (always visible to group members)
|
|
- New `org-social-parser--extract-mentioned-urls` function to extract mentions from post body
|
|
- New `org-social-feed--should-show-post` function to filter posts by visibility in timeline
|
|
|
|
## 2.8
|
|
|
|
- Improvement: `org-social-mention-user` - Now uses async cache system that loads all users from relay without blocking Emacs. Cache updates automatically and silently after timeline is displayed
|
|
- Feature: Real-time desktop notifications (optional, disabled by default via `org-social-realtime-notifications`)
|
|
- Feature: Post preview length control with `org-social-post-preview-length` (default 400 characters). Long posts show truncated content with "Read more" button to open in thread view. Set to `nil` to disable truncation
|
|
- Fix: Poll voting now works correctly with vfile URLs by using local cache file
|
|
|
|
## 2.7
|
|
|
|
- Migration Support:
|
|
- New `org-social-new-migration` command to create migration posts
|
|
- Automatic local migration processing when opening files or viewing timeline
|
|
- Automatic remote migration detection when downloading follower feeds. Replaces old URLs with new URLs throughout the file (FOLLOW, REPLY_TO, INCLUDE, mentions). Auto-saves social.org after applying remote migrations
|
|
- vfile Support
|
|
- Boost Support (Share/Repost):
|
|
- New `/interactions` endpoint integration (replaces separate `/reactions` and `/boosts` calls)
|
|
- Added boost functionality with `:INCLUDE:` property support
|
|
- Visual "🔄 Boosted" indicator on boosted posts
|
|
- Boost counter integrated in post buttons (e.g., "[ 3 🔄 ]")
|
|
- Keyboard shortcut `b` to boost posts from timeline
|
|
- Language Filter:
|
|
- New `org-social-language-filter` configuration variable by language codes (e.g., `'("en" "es")` for English and Spanish)
|
|
- UI Improvements:
|
|
- Removed visual refresh button from all buffers (keyboard shortcut `g` still works)
|
|
- Buttons now use emoji-only format with tooltips for cleaner appearance
|
|
- All post buttons include `:help-echo` properties for better usability
|
|
- Help text updated with boost shortcut information
|
|
|
|
## 2.6
|
|
|
|
- Multi-Account Support
|
|
- Fixed issue #25: Kill hanging HTTP processes on timeout to prevent zombie processes and 'running process' popups
|
|
- Validator Improvements
|
|
- Added button to donate to the project via Liberapay.
|
|
|
|
## 2.5
|
|
|
|
- Groups Improvements:
|
|
- Multi-relay support: Subscribe to groups from multiple relay servers simultaneously
|
|
- Groups buffer now shows only subscribed groups (instead of all relay groups)
|
|
- Fixed multi-word group names parsing (e.g., "Org Social" now parsed correctly)
|
|
- Automatic GROUP property: When creating posts from group buffers (via button or keyboard shortcut 'c'), the `:GROUP:` property is automatically added with group name and relay URL
|
|
- Fixed parser to ignore groups defined in code blocks (BEGIN_SRC/END_SRC)
|
|
- Poll Improvements:
|
|
- Interactive radio button UI for voting on polls directly within posts
|
|
- Added "📊 Results" button to view poll results with visual progress bars
|
|
- "Thread" button now correctly appears only when polls have real replies (filters out simple votes)
|
|
- Discover Buffer Improvements: Infinite scroll pagination and random order
|
|
- Code Cleanup:
|
|
- Removed `org-social-raw.el` and `org-social-timeline-raw` function (unused functionality)
|
|
- Bug Fixes:
|
|
- Emojis now render correctly instead of showing octal sequences (e.g., `\360\203...`)
|
|
- Fixed vote counting in poll results (now correctly parses relay response format)
|
|
- Fixed Reply and Thread buttons not appearing on poll posts
|
|
|
|
## 2.4
|
|
|
|
- Performance Improvements:
|
|
- New async user queue system (`org-social-user-queue.el`) for parallel user info fetching
|
|
- Improved feed downloading with better concurrency control (uses `url-retrieve` instead of blocking threads)
|
|
- Better performance for Discover and user profile loading
|
|
- Reduced concurrent download limit for user fetches to avoid rate limiting (3 concurrent requests)
|
|
- Scheduled Posts: Posts with future dates are now ignored in timeline views
|
|
- Validator Enhancements:
|
|
- Optional properties support: Properties not in the known list are now ignored instead of causing validation errors
|
|
- CONTACT field now accepts any valid URI scheme (not just mailto, xmpp, http/https)
|
|
- Better integration with other org-mode tools and export features
|
|
- File Structure:
|
|
- Optional properties in org-social file format
|
|
- Automatic space added after h2 headings in generated content
|
|
- Documentation:
|
|
- Fixed documentation errors and improved clarity
|
|
|
|
## 2.3
|
|
|
|
- Option to install with MELPA
|
|
- Discover Buffer: New "🌍 Discover" buffer to browse and follow users from the relay
|
|
- Edit Button: Added "✏️ Edit" button for your own posts
|
|
- Interactive Org Mode Support: Full interactive Org mode functionality within posts
|
|
- Execute code blocks with `C-c C-c` (Python, Emacs Lisp, etc.)
|
|
- Recalculate tables with formulas using `C-c C-c` or `C-c *`
|
|
- Context-aware Org commands work directly in timeline and thread views
|
|
- My Profile Button: Added "👤 My Profile" button in timeline header
|
|
- UI Improvements:
|
|
- Renamed "Notifications" to "Notices" throughout the interface
|
|
- Removed "@" prefix from usernames for cleaner display
|
|
- Better button layout and spacing
|
|
- Poll Enhancements:
|
|
- Added "🗳 Vote" button for polls
|
|
- Polls now hidden from timeline view (visible in threads and profiles)
|
|
- Performance Optimizations: New `org-social-partial-fetch.el` module with HTTP Range requests. Downloads only recent posts (configurable via `org-social-max-post-age-days`, default: 14 days)
|
|
- Concurrent Download Control: New `org-social-max-concurrent-downloads` variable (default: 20)
|
|
- UTF-8 Fix: Properly decode emojis and Unicode characters in partial downloads
|
|
- Bug Fixes:
|
|
- Fixed org headings promotion relative to posts ([#18](https://github.com/tanrax/org-social.el/pull/18))
|
|
- Fixed duplicate posts in group views
|
|
- Improved reaction handling and display
|
|
- Corrected keyboard shortcuts in documentation ([#14](https://github.com/tanrax/org-social.el/pull/14))
|
|
- Fixed MOOD emoji displaying as octal sequences instead of proper emoji rendering
|
|
|
|
## 2.2
|
|
|
|
- New notification system.
|
|
- Inline images.
|
|
- Minor fixes.
|
|
|
|
## 2.1
|
|
|
|
- Groups relay integration.
|
|
- Added Search.
|
|
- Timeline Enhancements.
|
|
- Removed deprecated `org-social-preview-base-url` variable.
|
|
|
|
## 2.0
|
|
|
|
- New Modern UI. Complete UI rewrite with modern widget-based interface
|
|
- Completely rewritten UI using Emacs widgets for better interactivity
|
|
- Beautiful centered layout with visual-fill-column support
|
|
- Interactive buttons for all actions (Reply, Thread, Profile, React, Vote)
|
|
- Real-time navigation between timeline, threads, notifications, and groups
|
|
- Removed old org-mode based timeline (available in v1 branch)
|
|
- Avatar Support:
|
|
- Display user avatars in timeline and thread views
|
|
- Automatic avatar caching and downloading
|
|
- Fallback to emoji when avatar not available
|
|
- Images centered vertically with text
|
|
- Enhanced Thread Navigation:
|
|
- Thread button shows parent post thread
|
|
- Smart thread button visibility (only shows when post has replies or is a reply)
|
|
- Hierarchical thread navigation with "Go to parent" button
|
|
- Thread stack for multi-level navigation
|
|
- Back button kills buffer when exiting threads
|
|
- Relay Integration (now required):
|
|
- `org-social-relay` is now required (default: `https://org-social-relay.andros.dev/`)
|
|
- `org-social-my-public-url` is now required
|
|
- Full support for relay mentions and notifications
|
|
- Group support via relay
|
|
- Thread/replies detection via relay
|
|
- Automatic caching of relay queries
|
|
- Improved Post Display:
|
|
- Tags and mood displayed on same line
|
|
- Better button ordering (Reply → Thread → Profile → React → Vote)
|
|
- Enhanced formatting with colors and spacing
|
|
- Support for post reactions and voting
|
|
- Configuration Changes:
|
|
- Three required variables: `org-social-file`, `org-social-relay`, `org-social-my-public-url`
|
|
- Clear error messages when required configuration is missing
|
|
- Updated keybindings for modern UI (n/p for navigation, t for thread, etc.)
|
|
- Code Quality:
|
|
- Removed org-social-timeline.el (legacy code)
|
|
- All code passes linter without warnings
|
|
- Better module organization
|
|
- Forward declarations for all external functions
|
|
|
|
## 1.5
|
|
|
|
- Added configuration option `org-social-hide-post-buttons` to hide Reply, Vote, and Profile buttons for cleaner timeline view.
|
|
- Improved timeline interface with better button management.
|
|
- Enhanced UI consistency across timeline interactions.
|
|
- Removed redundant shortcut configurations for streamlined setup.
|
|
- Fixed formatting issues in timeline display.
|
|
|
|
## 1.4
|
|
|
|
- Input to make votes.
|
|
- Input to make new polls.
|
|
- Notifications: Display the voting results.
|
|
- Button to reply
|
|
- Button to vote on polls
|
|
- Button to view profile
|
|
- Updated mention source to use real nick names.
|
|
|
|
## 1.3
|
|
|
|
- Split code into small files.
|
|
- Notifications section.
|
|
- Function to adding mentions.
|
|
- Improved format for mentions.
|
|
|
|
## 1.2
|
|
|
|
- Added timeline navigation with `n` (next) and `p` (previous) keys
|
|
- Added reply functionality with `r` key in timeline
|
|
- Enhanced timeline display to show mood, language, and tags
|
|
- Improved cursor positioning to post content when navigating
|
|
- Added timeline refresh functionality with `g` key
|
|
- Added `org-social-timeline-mode` for better timeline interaction
|
|
|
|
## 1.1
|
|
|
|
- Added hook `org-social-after-save-file-hook` to allow custom actions after saving the social file.
|
|
|
|
## 1.0
|
|
|
|
Initial release with basic functionality:
|
|
|
|
- Downloading and displaying feeds
|
|
- Creating new posts
|
|
- Validating file structure
|
|
- Basic keybindings
|