One thing I noticed running portable version of the 4.99.2 beta is a difference in error reporting for an EPUB containing DRM. Trying to convert or edit pops up the expected "This book has DRM" dialog. But invoking the viewer instead produces a different error dialog:
Spoiler:
calibre, version 4.99.2
ERROR: Loading book failed: Failed to open the book at C:\calibre-beta\Calibre Portable\Calibre Library\Harry Harrison\50 in 50 (10457)\50 in 50 - Harry Harrison.epub. Click "Show details" for more info.
Failed to convert book: C:\calibre-beta\Calibre Portable\Calibre Library\Harry Harrison\50 in 50 (10457)\50 in 50 - Harry Harrison.epub with error:
InputFormatPlugin: EPUB Input running
on C:\calibre-beta\Calibre Portable\Calibre Library\Harry Harrison\50 in 50 (10457)\50 in 50 - Harry Harrison.epub
Traceback (most recent call last):
File "runpy.py", line 192, in _run_module_as_main
File "runpy.py", line 85, in _run_code
File "site.py", line 89, in <module>
File "site.py", line 84, in main
File "site.py", line 55, in run_entry_point
File "worker.py", line 195, in main
File "<string>", line 1, in <module>
File "render_book.py", line 829, in viewer_main
File "render_book.py", line 820, in render_for_viewer
File "render_book.py", line 797, in render
File "book.py", line 63, in extract_book
File "conversion.py", line 245, in __call__
File "epub_input.py", line 290, in convert
calibre.ebooks.DRMError: 50 in 50 - Harry Harrison.epub
Failed to run pipe worker with command: from calibre.srv.render_book import viewer_main; viewer_main()