Skip to content

Releases: mapillary/mapillary_tools

v0.14.4

04 Sep 07:24
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.14.3...v0.14.4

v0.14.3

28 Aug 04:31
Compare
Choose a tag to compare

What's Changed

  • fix: race condition in image uploader by @ptpt in #779
  • fix: handle HTTP 429 as retriable errors by @ptpt in #780

Full Changelog: v0.14.2...v0.14.3

v0.14.2

25 Aug 18:43
Compare
Choose a tag to compare

What's Changed

Improvement

  • Speed up validation by reusing validators by @ptpt in #777

Bug fixes

  • Use separate cache paths for different python/CLI versions by @ptpt in #778

Full Changelog: v0.14.1...v0.14.2

v0.14.1

21 Aug 17:08
Compare
Choose a tag to compare

🚀 Features

  • Upload images with keep-alive: Improve image uploads by enabling keep-alive connections, resulting in faster and more reliable uploads. Now images are uploaded with 4 keep-alive connections by default. (by @ptpt in #772)

🛠️ Improvements

  • Enable multiprocessing logging: Added logging support for multiprocessing in verbose mode, making debugging and monitoring easier (by @ptpt in #774)

🐞 Bug Fixes

  • Graceful handling of authentication timeouts: Authentication now properly handles request timeouts, preventing abrupt failures and improving user experience (by @ptpt in #773)
  • Fix unhandled exception in EXIF XML parsing: Prevent crashes caused by unhandled exceptions during exiftool XML parsing (by @nickplesha in #776)
  • Calculate video file size with GPX extractor: Video file sizes are now correctly calculated when using the GPX extractor tool (by @nickplesha in #775)

Full Changelog: v0.14.0...v0.14.1

v0.14.0

06 Aug 21:17
Compare
Choose a tag to compare

🌟 Highlights

  • 🚀 Performance Boosts:
    Enjoy massive speed improvements across the board, including faster native EXIF, GoPro, CAMM, and Blackvue video processing. Uploads and processing are now significantly more responsive, making large dataset handling smoother than ever.

  • 🛠️ Built-in ExifTool Fallback:
    Mapillary Tools now uses its optimized native parsers for EXIF, CAMM, GoPro, and related metadata by default. If native parsing fails, it seamlessly falls back to using the ExifTool installed on your system, ensuring robust and reliable metadata extraction for all your files.

  • 📤 File-by-File Upload:
    Images are now uploaded individually, eliminating the need to create zip archives before uploading. This approach greatly reduces intermediate disk usage, speeds up the upload process, and enhances reliability—especially with large or interrupted uploads.

🚀 Features

  • Improved Authentication: Enhanced authentication flow for a smoother user experience. (#733)
  • Image Upload Flexibility: Added support for uploading images file by file. (#753)
  • More Upload Options: Introduced additional upload options for debugging/development purpose. (#764)
  • Export as GPX: Now you can export descriptions as GPX files for visualization (just name your desc file as .gpx, i.e. --desc_path=foo.gpx). (#759)

🛠️ Improvements

  • Performance Boosts: Major speed-ups in native EXIF, GoPro, CAMM, and Blackvue video processing. (#721, #722, #729, #731)
  • Remove md5sum from Processing: Removed unnecessary md5sum calculation to speed up processing. (#725)
  • Better Upload Progress: Enhanced upload progress tracking and error handling. (#760, #736)
  • Geotagging Workflow: Improved geotagging process, including fallback with exiftool and better EXIF extraction. (#737, #728, #743)
  • Improved Logging: Logging is now more informative and easier to read. (#769)
  • EXIFTool Speed: Runs exiftool with the -fast parameter for quicker metadata extraction. (#745)
  • Timezone-aware gpxpy: Upgraded gpxpy to handle timezones correctly. (#768)
  • Upload Timeouts: Added configurable upload timeouts to prevent hanging uploads. (#767)
  • Upload Handle Caching: Upload handles are now cached to avoid offset reset issue (upload from beginning) and improved efficiency. (#766)

🐛 Bug Fixes

  • EXIF Extraction: Fixed issues with EXIF data extraction and MAPFilename restoration. (#728, #739)
  • Upload Consistency: Ensured session keys are unique and the same sequence generates the same zip file. (#752, #738)
  • GoPro & Blackvue Compatibility: Improved camera detection and parsing for GoPro and Blackvue 900x. (#740, #756)
  • Source Options & Sequence Splitting: Fixed issues with source option handling and sequence splitting. (#754, #763)
  • Progress Bar: Fixed duplicate initialization of the progress bar. (#765)
  • Sample Video Quality: Addressed issues affecting sample video quality. (#761)
  • Duplication Check: Improved duplicate detection when compass angles are missing. (#718)
  • NMEA Parsing: Enhanced support for NMEA GGA/GLL/RMC sentences in Blackvue videos. (#757)

👷 CI

  • PyInstaller Builds: Create builds in a folder using PyInstaller onedir. (#742)
  • Packaging with Python3.13: Upgrade from Python 3.11 to Python 3.13. (78fd6a49db)
  • Build System Updates: Switched to pyproject.toml for build configuration. (#755)

♻️ Refactoring & Chores

  • Uploader Refactors: Major refactoring in uploader-related modules and CAMM/MP4 builder for maintainability. (#734, #735, #758)
  • Visitor Pattern for CAMM: Refactored CAMM parsing using the visitor pattern. (#723)
  • Geotagging Clean-up: Moved and simplified geotagging logic for clarity. (#726, #727)
  • Upload Zips Refactor: Improved logic for uploading zipped files. (#732)
  • Test Improvements: Added and fixed tests, including CLI and sequence processing tests. (#720, #730)
  • GoPro gpmf Module: Consolidated all GoPro related code in the gpmf module. (#724)
  • Types Upgrade: Upgraded types for better code reliability. (#741)
  • General Refactors: Various improvements and simplifications in ffmpeg usage and upload service. (#762, #758)
  • Uploader Enhancements: Refined uploader modules for reliability and maintainability. (#734, #735, #758)

Full Changelog: v0.13.3...v0.14.0

Read more

v0.14.0b1

30 Jun 03:53
Compare
Choose a tag to compare
v0.14.0b1 Pre-release
Pre-release

What's Changed

Here are the release notes/changelog based on the provided pull requests:


New Features

  • Support uploading images file by file: You can now upload images one at a time, improving flexibility and reliability in the upload process. (#753 by @ptpt)
  • Export descriptions as GPX: Descriptions can now be exported in GPX format, aiding integration with GPS tools and workflows. (#759 by @ptpt)

Improvements

  • Improved BlackVue video NMEA support: Enhanced support for parsing NMEA GGA, GLL, and RMC sentences in BlackVue videos, leading to better metadata extraction. (#757 by @ptpt)
  • Upload service refactored: The upload service has been improved for better maintainability and reliability. (#758 by @ptpt)
  • FFmpeg handling refactored: FFmpeg integration has been cleaned up, laying groundwork for future improvements. (#762 by @ptpt)

Bug Fixes

  • Ensure session key uniqueness for uploads: Fixed an issue where session keys were not unique to the uploaded content, which could cause conflicts. (#752 by @ptpt)
  • BlackVue 900x parsing fixed: Addressed issues with parsing data from BlackVue 900x series videos. (#756 by @ptpt)
  • Sample video quality improved: Fixed problems related to the quality of sample videos. (#761 by @ptpt)
  • Source options handling fixed: Resolved issues with the handling of source options during processing. (#754 by @ptpt)

Performance

  • Use exiftool -fast parameter: Improved performance by utilizing the -fast parameter when running exiftool, resulting in faster metadata extraction. (#745 by @nickplesha)

Maintenance

  • Upgraded to pyproject.toml: Migrated project configuration to pyproject.toml for modern Python packaging and dependency management. (#755 by @ptpt)

Full Changelog: v0.14.0a2...v0.14.0b1

v0.14.0a2

11 Apr 08:42
Compare
Choose a tag to compare
v0.14.0a2 Pre-release
Pre-release

What's Changed

  • Improve: geotag and fixed NotImplementedError error by @ptpt in #743
  • CI: Create folder builds with Pyinstaller by @nickplesha in #742
  • Chore: upgrade types by @ptpt in #741

Full Changelog: v0.14.0a1...v0.14.0a2

v0.14.0a1

01 Apr 19:00
Compare
Choose a tag to compare
v0.14.0a1 Pre-release
Pre-release

🚀 Features

  • feat: exiftool integration: geotag with exiftool after native parsing by @ptpt in #737

🐛 Bug Fixes

  • fix: EXIF extraction by @ptpt in #728
  • fix: add back MAPFilename by @ptpt in #739
  • fix: check distance for duplications when compass angles are not found by @ptpt in #718
  • fix: distinguish GoPro and other cameras using the same gpmd format by @ptpt in #740
  • fix: make sure the same sequence always produces the same zipfile by @ptpt in #738

🔧 Improvements

  • improve: check video sequence/video for null island, speed, and file size by @ptpt in #719
  • improve: improve authentication UI by @ptpt in #733
  • improve: add tests for sequence processing by @ptpt in #720
  • improve: handle upload errors by @ptpt in #736
  • improve: performance for CAMM processing by @ptpt in #731
  • improve: performance for blackvue processing by @ptpt in #729
  • improve: remove md5sum calculation from processing stage by @ptpt in #725
  • improve: speed up GoPro processing by @ptpt in #722
  • improve: speed up native EXIF parsing by @ptpt in #721

🛠️ Refactors and Chores

  • refactor: Improve uploader and CAMM mp4 builder by @ptpt in #735
  • refactor: improve uploader related modules by @ptpt in #734
  • refactor: move stationary check from geotagging to process_sequence_properties.py by @ptpt in #726
  • refactor: simplify geotagging by @ptpt in #727
  • refactor: upload zips by @ptpt in #732
  • refactor: use visitor pattern to parse different CAMM entries by @ptpt in #723
  • chore: add all GoPro related to gpmf module by @ptpt in #724
  • chore: decrease chunk size to make upload more responsive by @ptpt in #717
  • chore: fix test cli by @ptpt in #730

Full Changelog: v0.13.3...v0.14.0a1

v0.13.3

10 Mar 07:23
970f352
Compare
Choose a tag to compare

What's Changed

Improvements

  • Improve: use chunked transfer encoding to improve stability for streaming large files in #714
  • Chore: increase the filesize limit per sequence to 110GB in 7a0edd6
  • Improve Logging for API HTTP requests (#715)

CI

  • Switch back to Ubuntu 20.04 to build linux binaries (#716)

Full Changelog: v0.13.2...v0.13.3

v0.13.3a1

06 Mar 06:22
Compare
Choose a tag to compare
v0.13.3a1 Pre-release
Pre-release

What's Changed

Full Changelog: v0.13.2...v0.13.3a1