CHANGELOG 15.5 KB
Newer Older
1 2
This file describes the new features in each poezio release.
For more detailed changelog, see the roadmap:
3
https://dev.louiz.org/projects/poezio/roadmap
4

mathieui's avatar
mathieui committed
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
* Poezio 0.13

# Thanks

- madhur for the MAM code and various other fixes (GSoC 2019)
- Ge0rG for fixes in the reconnect and carbons code
- fiaxh for the nice SVG logo

Zash, PS Le Stang, Karthikeyan Singaravelan, Jonas Schäfer, Célestin Matte,
Andrey Utkin, root.

# Meta changes

- Packages: poezio is now packaged for Gentoo and Debian buster
  (poezio v0.12.1)
- Source: the repository is now hosted at https://lab.louiz.org/poezio/poezio

# Breaking changes

- BREAKING: requires python3.7 (previously python 3.5)
- DEPRECATION: `load_log` configuration was removed
- DEPRECATION: `bookmark_on_join` configuration option was renamed
  `synchronise_open_rooms`, and now defaults to true. This makes /join
  automatically create a bookmark, use /leave to remove it

# New features and plugins

- `/impromptu <jid> [jid ..]` command to create a new chat with these persons
- `/scrollback` to scroll back to a specific line/message in the current window
- `/invite <jid> [jid ..]` command in single user chat does like `/impromptu`
  creating a new MUC
- `/affiliation` command now returns the list of privileged users on the
  current MUC when no argument is supplied
- `default_muc_service`  configuration for replacing the server's default MUC
- `unique_prefix_tab_names` display option to show the shorter tab name
  prefixes in the tab list
- `/list` defaults to `default_muc_service` when no argument is specified
- XEP-0392 support
- New Plugin: OMEMO (experimental) - lives as an external plugin at
  https://lab.louiz.org/poezio/poezio-omemo
- New Plugin: Contact - queries an entity for contact addresses (XEP-0157)
- New Plugin: Upload - adds a `/upload <filename>` command in chats for HTTP
  upload
- New Plugin: remove_get_trackers - Remove GET trackers from URLs in sent
  messages.
- New Plugin: QR


# Under the hood

- Plugin API: `E2EEPlugin` is a new experimental API for message encryption
  (used by the OMEMO plugin)
- Plugin API: plugins can now declare a string list of dependencies
- Plugin API: plugins can now be setup using a well-known setuptools entrypoint
- Reworked Tab handling
- Split Message rendering
- Typing improvements

# Minor changes (bugfixes)

- Properly advertize gaming status
- Improve error reporting to users
- Add SVG support for avatars
- Plugin: Disco - allow node to be specified
- Don't always treat carbons from biboumi as MUC-PMs (#3705)
- Read newer Last Message Correction rules while still reading older ones
  (#3462)
- Allow /block and /unblock in ConversationTab (#3346)
- Experimental: Fetch archives (MAM) on scroll up in MUC (#3052)
- Allow /add in ConversationTab (#3395)
- Prevent Chat State Notifications from being stored in the archive (#3518)
- Rework MUC-PM Carbons handling (#3294)
- /scrollback (#3481)
- Read <delay/> in <subject/> (#3451)
- Only use MUC <subject/> in specific cases (#3452)
- Allow /reconnect in all tabs (#3471)
- Allow /embed in chat tabs (#3449)
- Allow /upload in chat tabs
- Properly identify MUC-PMs for normal messages and chatstates (#3491)
- /server_cycle: stricly match specified domain (#3412)
- Breaking: -v/--version previously for internal purposes now returns version
  as expected (#3429)
- Improve highlighting regex (#3433)
- Generate static resource at first launch (#3400)
mathieui's avatar
mathieui committed
89

mathieui's avatar
mathieui committed
90
* Poezio 0.12
mathieui's avatar
mathieui committed
91

92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
- Require Python 3.5, to add support for Python 3.7, use proper async
  functions, use typing, italics formatting, FIXME
- Added support for XEP-0392 (Consistent Color Generation)
- Added support for XEP-0153 (vCard-Based Avatars) and XEP-0084 (User
  Avatar) in the roster tab
- Added support for XEP-0363 (HTTP File Upload) for easy file transfer,
  in the upload plugin with /upload
- Added support for XEP-0066 (Out of Band Data) for Conversations
  compatibility when sharing images, in the embed plugin with /embed
- Removed support for XEP-0296 (Best Practices for Resource Locking),
  to use all features available no matter what our contact’s current
  clients support
- Check for usable Unicode support on start
- Generate a device id on first start, and use it for our resource
- Display the public key hash instead of the certificate’s
- Handle carbons properly for private messages in rooms
- /bookmarks can now be used to rename tabs as you want
- Remove unexpected command completion based on command prefix
- Add an irssi theme
- Add a code plugin, which requires pygments
- Fix resource duplication on reconnect
- Misc fixes and improvements

mathieui's avatar
mathieui committed
115 116 117 118 119 120 121 122 123
* Poezio 0.11

- Implementation of XEP-0380
- Docker images
- Improved documentation
- GPG plugin fixes
- Added manpages for the utility scripts
- Misc fixes

mathieui's avatar
mathieui committed
124
* Poezio 0.10
mathieui's avatar
mathieui committed
125

mathieui's avatar
mathieui committed
126 127
- A lot of cleanup and refactor in order to use cython on the codebase
  more easily.
mathieui's avatar
mathieui committed
128
- A new poezio_logs script to make logfiles more human-readable
mathieui's avatar
mathieui committed
129
- Substantial performance improvements
mathieui's avatar
mathieui committed
130 131
- Added a new confirmation tab and used it for cert warnings and XEP-0070
- Added support for XEP-0070 (HTTP request verification)
mathieui's avatar
mathieui committed
132 133 134 135 136 137 138 139 140 141 142
- Enabled carbons (XEP-0280) by default
- Added support for XEP-0198 (stream management)
- Added support for XEP-0352 (client state indication)
- Added support for XEP-0319 (last user interaction in presence)
- Add an 'eval_password' config option
- Add a marquee and dice plugins
- Add a bob plugin
- simple_notify plugin works in MUC too
- The reorder plugin can now /save_order
- Minor ui changes
- Many Bugfixes
mathieui's avatar
mathieui committed
143 144

* Poezio 0.9
mathieui's avatar
mathieui committed
145 146

- Use slixmpp instead of sleekxmpp, remove threads and locks
147 148
- Require python 3.4 for the input handling, event loop, xml parser,
  and ssl API
mathieui's avatar
mathieui committed
149 150

- Due to the slixmpp move, /reconnect now works (ecf22cb)
mathieui's avatar
mathieui committed
151 152 153
- Add a check for broken python ncurses (1c5589b)
- Add a /reload command to reload the config (71f3848)
- Add a /color command to permanently set the color a nick (f7e7836)
mathieui's avatar
mathieui committed
154
- Add a /closeall command with a plugin, to cleanup the open tabs (ed7fe69)
155 156 157 158
- Add a /reorder command with a plugin to order the tabs based on a static
  layout (8afbb44)
- Add a /set_default command which sets the value of an option back to its
  default (9caa992)
mathieui's avatar
mathieui committed
159
- Use a deterministic algorithm to set the nickname colors by default (2452706)
mathieui's avatar
mathieui committed
160
- The user’s JID is now shown in the roster (a0a00d5)
mathieui's avatar
mathieui committed
161 162
- The screen_detach plugin now also detects tmux (21d8a3e)
- The autocorrect plugin now supports regular expressions (067ad58)
163 164
- Improve the XML tab with coloration, better filters, and filter chaining
  (1cd0b4d)
mathieui's avatar
mathieui committed
165 166
- Allow the use of client X.509 certificates for authentication, and add
  /certs, /cert_{add,disable,revoke,fetch} commands (00396c1)
167 168 169 170
- Stream errors are now displayed, which is more helpful to the user than
  'connection failed' (5cd854f)
- The (system-wide) launch script is now a setuptools entry point that checks
  dependencies (22f9b7a)
mathieui's avatar
mathieui committed
171
- XHTML-IM base64 embedded images are now extracted by default (a9f642f)
172 173
- New open_all_bookmarks option to let the user choose what to do with
  bookmarks without autojoin (5a5d581)
mathieui's avatar
mathieui committed
174
- Store the server certificate fingerprint with SHA-512 (8d2408c)
175 176
- pipe_cmd plugin that allows simple remote control of poezio (4b0d9a2,
  dc46286)
mathieui's avatar
mathieui committed
177
- /link now uses xdg-open (ba32d74)
178 179
- Display information about the XMPP features the contact supports (a1f86720,
  2dafd6d5)
mathieui's avatar
mathieui committed
180 181
- make the data forms tab better (3858273, 7378ea9)
- Implement ad-hoc commands (bbc55fa)
182 183 184
- A change_title plugin changes the title of the terminal depending on the
  current tab. Also, poezio is now "poezio" and not "python3" (c1d19fa,
  48e59d3)
mathieui's avatar
mathieui committed
185
- The OTR plugin now implements SMP (96442e9)
mathieui's avatar
mathieui committed
186
- The OTR plugin now tries to interpret html by default (4e4ab56)
187 188
- The OTR plugin also has nicer and more informative messages (71ae29df,
  f782516e, d7bbf339c, a0c5f95, 25e91b0)
mathieui's avatar
mathieui committed
189 190 191 192 193
- The interface will adapt if the terminal is too small (0caf941)
- Implement XEP-0184 (message delivery receipts) (5999b71)
- Better timezone handling (02d9fd9)
- Better alias plugin, with permanent alias storage (e80a90)
- poezio_gpg_export script to generate a config for the gpg plugin (8ec5671)
194 195
- improvements to dynamic tabs, information about jid lock/unlock (f7294b2,
  5c9dd44, fba511e)
mathieui's avatar
mathieui committed
196 197 198
- irc plugin to use with biboumi (cf752c2)
- implementation of XEP-0012 - last activity (65c2473)
- errors.log contains a lot less stuff (695877b)
199 200
- tabs where the input is not empty will not be considered as "normal"
  (52e6334, fe072a8)
mathieui's avatar
mathieui committed
201 202 203 204
- /bookmark * now preserves the order of the tabs (38061a6)
- /list on big servers should be much faster (7b446d9)
- /load and /unload can handle several plugins at once (0847643)
- nicks are no longer highlighted if they are inside another word (f58dfe2)
205 206 207 208
- /invite will now use the “direct” invitations of XEP-0249 when supported
  (3221534)
- tabs where the other party is currently composing will have a particular
  state (a784216)
mathieui's avatar
mathieui committed
209
- Implementation of room destruction (1f0ff4f)
210 211
- running theming.py and keyboard.py will be nicer and not pollute the output
  afterwards (5012611, 1bd9f78)
mathieui's avatar
mathieui committed
212
- Bugfixes
mathieui's avatar
mathieui committed
213 214 215

* Poezio 0.8.1
- fix compilation with python 3.4
mathieui's avatar
mathieui committed
216

mathieui's avatar
mathieui committed
217
* Poezio 0.8
mathieui's avatar
mathieui committed
218 219 220 221
- Allow in-band password changing with /password
- Force c2s encryption until configured otherwise
- Allow users to set their cipher suites and ship one by default
- Autocorrect plugin that sends sed-like corrections
mathieui's avatar
mathieui committed
222 223 224 225 226
- /invite in a MUCTab now has the behavior one could expect
  (inviting a specific JID to this MUC)
- Themes and plugins are now loaded using a set of paths instead
  of only a specific directory.
- The OTR plugin has been completly rewritten
mathieui's avatar
mathieui committed
227 228
- The completion can now complete the current argument in the input,
  instead of only the last one.
louiz’'s avatar
louiz’ committed
229 230
- Poezio now periodically pings the server to detect connection loss
- Improve the roster and the input (^R search, weechat-like
mathieui's avatar
mathieui committed
231 232 233 234 235 236 237
  behaviour with long lines)
- Add a way to send text with multiple styles at the
  same time.
- Background colors in themes are now fully supported (it
  wasn’t for information text and nick colors, mostly)
- The logs now use the mcabber format in order to improve tool
  reuse (plus, our old log format wasn’t parsable).
mathieui's avatar
mathieui committed
238
- The documentation now uses Sphinx/reST instead of AsciiDoc
mathieui's avatar
mathieui committed
239
- Add User Tune/Nickname/Mood/Activity/Gaming support
240 241 242 243
- More theming options
- Add xml:lang support
- Move to upstream sleekxmpp
- Add support for XEP-0296 (best practices for resource locking)
mathieui's avatar
mathieui committed
244
- Move the “config reload” signal to SIGUSR1 instead of SIGHUP
245 246 247
- Add a /disconnect command
- New style and API for /help
- Add a visual indicator of s2s errors in the roster
248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268
- Add an option (show_timestamps) to show message timestamps.
- Add an option (hide_user_list) to hide the user list in MUCs.
- Add a "reverse" theme option for highlight nicks that displays
  the nick in reverse mode on highlight messages.
- Use get_wch() if available (introduced in python3.3) instead of our custom
  way to read unicode input.
- Add an option to preload last logs into the conversation when opening a new tab.
- Introduce support for XEP 308, Last message correction
  (http://xmpp.org/extensions/xep-0308.html).
- Rewrite the Executor class to make remote execution more reliable, and
  command easier to write (without a lot of escaping to do).
- Increase roster speed a lot.
- Add option to sort the roster more precisely.
- Add an option to avoid gap in the tab numbering when closing a tab.
- Add a /move_tab command, to move tabs.
- Add simple communication blocking support
  (http://xmpp.org/extensions/xep-0191.html).
- Add last activity support (http://xmpp.org/extensions/xep-0012.html).
- Add a /self command.
- Add a /runkey command.
- Support underlined text in the input with C-c u.
269 270
- Add support for /set <option> toggle, which toggles the current value, if
  it’s a bool.
mathieui's avatar
mathieui committed
271 272 273
- Add a couple of (useless) funny plugins.
- New display of message errors/headlines
- bugfixes
mathieui's avatar
mathieui committed
274 275 276 277 278

* Poezio 0.7.5.1 & 2 - Summer 2012
- Fix tracebacks caused by a change in Sleekxmpp

* Poezio 0.7.5 - 25 May 2012
279
- Plugin system
mathieui's avatar
mathieui committed
280 281 282 283 284 285 286 287 288 289 290
- Server-side bookmarks
- New keyboard shortcuts tuning options
- New keyboard shortcuts
- Attention support
- Invitation support
- Improved contact management
- New tab list
- Certificate check (TOFU model)
- New commands for sending stanzas manually
- bugfixes

louiz’'s avatar
louiz’ committed
291

louiz’'s avatar
louiz’ committed
292
* Poezio 0.7.2 - 08 Nov 2011
louiz’'s avatar
louiz’ committed
293 294
- Huge speed improvements in both memory usage, text
  refresh speed and interface resize.
louiz’'s avatar
louiz’ committed
295 296
- Chatstate notifications (in private AND in MUCs)
- /message command to talk to any JID
louiz’'s avatar
louiz’ committed
297
- /version command to get the software version of an entity
louiz’'s avatar
louiz’ committed
298
- /bind command, and keys can be bound in the config file
louiz’'s avatar
louiz’ committed
299
- Multiline edition
louiz’'s avatar
louiz’ committed
300 301 302 303 304 305 306 307
- xhtml-im messages can be sent and received
- 256 colors support
- themes are easier to create and load. They can use
  up to 256 colors
- completion now works not only at the end of the input
- /affiliation and /role commands to administrate MUCs
- /export command to export your roster in a file
- data forms support (only for room configuration at the moment)
louiz’'s avatar
louiz’ committed
308
- documentation is now written in asciidoc format
louiz’'s avatar
louiz’ committed
309
- a *lot* of bugfixes
louiz’'s avatar
louiz’ committed
310

louiz’'s avatar
louiz’ committed
311

louiz’'s avatar
louiz’ committed
312
* Poezio 0.7.1 - 2 Feb 2011
louiz’'s avatar
louiz’ committed
313 314 315 316
- /status command to globally change the status
- /win command now accepts part of tab name as argument
- bugfixes

louiz’'s avatar
louiz’ committed
317

louiz’'s avatar
louiz’ committed
318
* Poezio 0.7 - 14 jan 2011
319
Codename ”Koshie & Mathieui”
louiz’'s avatar
Fix //  
louiz’ committed
320
- Library changed from xmpppy to SleekXMPP
321
- Python 3 only
322 323 324
- Introduce the roster
- One to one conversations
- Roster search
louiz’'s avatar
Fix //  
louiz’ committed
325
- Add/remove/accept/deny contact in the roster
326 327
- Resizable mini-buffer displaying various informations
- All colors can be changed with a theme file
328
- Command auto-completion
329
- /say and // commands
330 331
- /recolor command, changing the nick's colors in a MUC
- /list command lets the user browse the MUCs on a server
332 333 334 335 336
- Warn user about publicly logged rooms
- Possibility to limit the number of history messages received from MUC
- auto-rejoin when kicked from a MUC
- The number of lines available to scroll down is displayed
- Possibility to use a modified nickname automatically when a nick is reserved
337
- A line separates the alread-read messages from the new messages
338
- Information messages are more colored
339
- Man page added
340 341
- bugfixes

342

343
* Poezio 0.6.2 - 21 Jul 2010
344 345 346 347
- Lines are now broken between words and not in the middle of them
- /unquery command
- default nickname is now $USER
- Server on /join command can be omitted
348
- /query command can now take a message in parameters
349
- logs are now save in $XDG_DATA_HOME and this can be configured
350
- Available users now have a greater priority on nickname completion
351 352 353 354 355 356 357
- utf-8 characters (from the keyboard) are now completely supported
- Many new keyboard shortcuts (move the cursor, edit the line, switch tabs...)
- DESTDIR support in Makefile is fixed
- Completion on recently said words
- /join command now takes the current server if not specified in the parameters
- Many Bugfixes

358

359 360 361
* Poezio 0.6.1 - 13 Jun 2010
- Enable tracebacks

362

363
* Poezio 0.6 - 13 Jun 2010
364
- Private messages are handled
365 366 367 368 369 370 371 372 373 374 375 376 377
- Muc error messages are displayed
- Nickname auto-completion
- Users status are displayed in the MUC user-list
- Non-anonymous connection (registered nickname can now be used)
- An avatar can be set
- A minimal Vcard can be set
- Proxies are handled
- Status changes can be hidden if the user didn't talk for a long time
- A line displays informations about rooms we are in (new messages, hl, etc)
- Highlights are handled (we can specify a list of words)
- Various new commands (topic, kick, set, win)
- Password-protected MUCs are handled
- The dates of room history are handled
378 379
- The way the text is displayed on the screen has been rewritten, this fixes
  the blink and the slowness-over-ssh problems.
380 381 382 383
- User lists are ordered
- Messages can be logged in files
- Status changes displays only what has really changed
- Users can be ignored (/ignore, /unignore)
384 385
- Various Bugfixes

386

387
* Poezio 0.5.1 - 2 Feb 2010
388 389
- Little bugfix release

390

391 392
* Poezio 0.5 - 1 Feb 2010
- Initial release