Changelog ========= v1.7.0 ------ merge development branch for v1.7.0 #version:minor v1.6.6 ------ improved parity between SQLite and Postgres database backends v1.6.5 ------ add track color customization to web_interface v1.6.4 ------ fix issue when inserting checksum into postgres database v1.6.3 ------ support offline package builds from source v1.6.2 ------ improved mac compatability and faster docker builds #9 v1.6.1 ------ update maturin version in pyproject.toml v1.6.0 ------ merge feature branch for v1.6.0 #version:minor v1.5.9 ------ python 3.12 support and fix duplicate server status message v1.5.8 ------ fix multiple bugs related to postgres database connections v1.5.7 ------ update docs v1.5.6 ------ fix bugs, update testing, add new examples v1.5.5 ------ fix timerange selection v1.5.4 ------ improved fault tolerance in dispatcher proxy v1.5.3 ------ update readme and docker docs; add python environment to introduction doc v1.5.2 ------ update cloud services documentation v1.5.1 ------ update docker build, lockfiles, and dispatcher docstrings v1.5.0 ------ version bump #version:minor v1.4.41 ------- add scale bar to web interface v1.4.40 ------- fix string formatting error in front end v1.4.39 ------- add map display example, and update docs v1.4.38 ------- docs v1.4.37 ------- decoder improvements v1.4.36 ------- improved error handling and logging in aisdb_lib v1.4.35 ------- add support for decoding .zip and .gz compressed AIS data files v1.4.34 ------- fix receiver crash on database timeout v1.4.33 ------- merge branch fix_website v1.4.32 ------- python code cleanup v1.4.31 ------- update docker build, default TCP listen address, and improved logging v1.4.30 ------- update docs for gis.py, track encoding, and receiving messages on a raspberry pi v1.4.29 ------- improved radial distance calculation v1.4.28 ------- improve consistency of dispatcher CLI v1.4.27 ------- update receiver for new dispatcher API v1.4.26 ------- update dispatcher API v1.4.25 ------- fix column issue when writing to CSV file v1.4.24 ------- fix bug in gis.py initializing domain when coordinate is zero v1.4.23 ------- update readme v1.4.22 ------- receiver TLS/TCP v1.4.21 ------- add rust receiver to python API v1.4.20 ------- front end updates v1.4.19 ------- improve sqlite compatability v1.4.18 ------- update docs and readme v1.4.17 ------- improved database query handling v1.4.16 ------- code cleanup v1.4.15 ------- receiver error handling v1.4.14 ------- receiver SSL v1.4.13 ------- update dependency version and add Cargo.lock files to repository v1.4.12 ------- enable rebroadcasting raw input from receiver v1.4.11 ------- update readme v1.4.10 ------- create docker image for receiver v1.4.9 ------ improve sqlite version compatibility v1.4.8 ------ increase default decimation precision v1.4.7 ------ rename receiver v1.4.6 ------ livestream database integration v1.4.5 ------ add buffer size const to socket_dispatch v1.4.4 ------ add option to disable default TrackGen curve decimation v1.4.3 ------ update nginx allowed script-src for localhost v1.4.2 ------ fix for database server sending wrong date range to front end v1.4.1 ------ overhaul livestream back end; add support for MacOS v1.4.0 ------ livestream backend #version:minor v1.3.150 -------- remove unused code from src/ v1.3.149 -------- fix websocket returning error when fetching time range for empty database v1.3.148 -------- update tileserver hostname config v1.3.147 -------- fix port configuration error v1.3.146 -------- improved web map tile server network routing v1.3.145 -------- database query error handling and improvements v1.3.144 -------- improved error handling for websocket client when setting query range v1.3.143 -------- assure domain zones are within (-180, 180) deg longitude, otherwise, intersect and remap zone polygon at the boundary v1.3.142 -------- update example start_websocket.py v1.3.141 -------- add polygon text labels to web app v1.3.140 -------- intercept tileserver requests and cache tiles with nginx. fall back to openstreetmaps if missing bing maps API token v1.3.139 -------- refactor javascript modules v1.3.138 -------- defer SSL to nginx v1.3.137 -------- allow defining the network graph processing pipeline at runtime v1.3.136 -------- prevent CI from recreating old tags v1.3.135 -------- fix network routing issue v1.3.134 -------- update docker docs for starting docserver container v1.3.133 -------- refactor docs server into a new docker-service, separated from webapp server v1.3.132 -------- update docstring for tracks cropping and cleaning with encode_greatcircledistance_async v1.3.131 -------- websocket client requests will now time out after 3 minutes v1.3.130 -------- webapp cursor position coordinates display v1.3.129 -------- optionally increase logging verbosity and improve doctests v1.3.128 -------- reduce memory leaks in websocket_server.py, and added 10s timeout before dropping client connection v1.3.127 -------- fix CSS overflow error v1.3.126 -------- fix bug causing websocket server to hang when making database queries v1.3.125 -------- refactor network graph and improved test coverage v1.3.124 -------- minor fixes and updated testing for gis.py and track_gen.py v1.3.123 -------- remove index.py v1.3.122 -------- fix ship_type error in asynchronous DB query v1.3.121 -------- fix web client query from hanging unexpectedly; reorganizing files v1.3.120 -------- update docstrings v1.3.119 -------- refactor network_graph v1.3.118 -------- add multiprocessing queue for parallelized network graphs. resolves #15 v1.3.117 -------- fix zone containment bug in aisdb.gis.Domain.point_in_polygon. resolves #19 v1.3.116 -------- tracks radial filtering v1.3.115 -------- remove unused args from webscraper v1.3.114 -------- fix bathymetry rasters from being closed too early when using .merge_tracks() repeatedly (closes #24) v1.3.113 -------- update CSV output columns ordering v1.3.112 -------- add variable column name when setting vesseltrack_3D_distance, closes #23 v1.3.111 -------- fix DBQuery missing aggregate table when using alternate sql query function v1.3.110 -------- enable extrapolation when interpolating outside single time step range #22 v1.3.109 -------- fix rust Chrono deprecation warning; remove rustdoc and rust binary target v1.3.108 -------- fix interpolation range bug #20 v1.3.107 -------- add raster data to network graph pipeline v1.3.106 -------- add JSON track serialization and deserialization functions to track_gen module v1.3.105 -------- improved warnings for bathymetry coordinates outside of longitude range (-180,180). bathymetry module now returns positive depth value instead of negative elevation value v1.3.104 -------- fix bug causing additional rows to be returned when querying boundaries exceeding longitude range (-180, 180). possibly related to issue #14 v1.3.103 -------- Docstrings for binarysearch_vector() function v1.3.102 -------- fix DBQuery truncating results from large queries (#17) v1.3.101 -------- accelerate rasters loading using vectorized binary search from rust module v1.3.100 -------- fast array indexing with rust: vectorized binary search implementation v1.3.99 ------- Update websocket_server.py for changes to database connection API (#13) v1.3.98 ------- update testing for DBConn() API (#13) v1.3.97 ------- clean up DBConn() API #13 v1.3.96 ------- fix bathymetry assertion error , closes #14 v1.3.95 ------- network graph domain from point radius geometry #12 v1.3.94 ------- optimized trajectory cleaning and network graph processing pipeline: rewrite trajectory encoder in rust v1.3.93 ------- add alternative modules using rasterio in load_rasters.py and bathymetry.py v1.3.92 ------- add more testing for rasterio, bathymetry, and network graph pipeline v1.3.91 ------- refactor raster loading v1.3.90 ------- remove merge_data and message_logger modules v1.3.89 ------- add imported rust functions to sphinx docs v1.3.88 ------- added tests and improved test coverage v1.3.87 ------- update dotfiles v1.3.86 ------- remove unused code and add more warnings v1.3.85 ------- update docker builds and CI pipeline v1.3.84 ------- update link in readme v1.3.83 ------- test CI auto-versioning v1.3.82 ------- update CI v1.3.81 ------- update dockerfile v1.3.80 ------- auto versioning for CI v1.3.79 ------- improved test coverage for DBQuery, decoder, marinetraffic, network_graph, and trackgen modules v1.3.78 ------- bug fix for storing cog, sog arrays in track dictionary v1.3.77 ------- support for rasterio when loading rasters v1.3.76 ------- refactor web scraping toolchain v1.3.75 ------- update websocket example v1.3.74 ------- update network_graph pipeline and bug fixes v1.3.73 ------- gitlab CI coverage v1.3.72 ------- update docker builds v1.3.71 ------- error handling in interp.py v1.3.70 ------- removed unused utils and fix bug in write_csv() v1.3.69 ------- remove unused rust module v1.3.68 ------- improved logging and fixed test in rust decoder v1.3.67 ------- database cleanup and fix bug in zone bounding box for SQL query v1.3.66 ------- refactor aisdb_web/map/ v1.3.65 ------- update docker docs and configuration v1.3.64 ------- update install instructions in readme v1.3.63 ------- update websocket test v1.3.62 ------- update dbqry testing v1.3.61 ------- update compose file v1.3.60 ------- update websocket_server for new asynchronous database connection API v1.3.59 ------- update example for refactored database connection API v1.3.58 ------- code comments in aisdb_web v1.3.57 ------- update requirements v1.3.56 ------- update dockerfile v1.3.55 ------- update testing for new database API v1.3.54 ------- bug fix in write_csv() when querying only dynamic tables without left join v1.3.53 ------- refactoring database modules to support multiple attached databases v1.3.52 ------- add support for multiple connected databases (synchronous), and refactor asynchronous database connection into its own class v1.3.51 ------- update CI arguments v1.3.50 ------- update dotfiles v1.3.49 ------- bug fix in bathymetry database v1.3.48 ------- update code example v1.3.47 ------- R-Tree database creation for bathymetry derived from rasters v1.3.46 ------- add example script for unzipping raw data and creating SQL databases` v1.3.45 ------- error handling when reading Spire/exactEarth CSV files v1.3.44 ------- get approximate file date from CSV files v1.3.43 ------- skip header row when checking CSV file checksums v1.3.42 ------- improvements to CSV output from track vectors v1.3.41 ------- add example script for starting websocket server v1.3.40 ------- add callback SQL function for in_time_bbox_inmmsi v1.3.39 ------- improved compatability with python versions before 3.10 v1.3.38 ------- heatmap prototyping v1.3.37 ------- update server routing v1.3.36 ------- ignore marinetraffic tests in CI v1.3.35 ------- add profiling to CI v1.3.34 ------- add webdriver to system path v1.3.33 ------- update Dockerfile v1.3.32 ------- automatically create missing tables for DB query v1.3.31 ------- add heatmaps experimental feature to webserver backend v1.3.30 ------- create aggregated data results if they dont exist upon DB Query v1.3.29 ------- improvements to marinetraffic data integration and testing v1.3.28 ------- update docs for submerged surface area v1.3.27 ------- update nodejs server routing v1.3.26 ------- fixed decoded messages counting issue in rust decoder and updated testing v1.3.25 ------- update wetted surface area computation v1.3.24 ------- add asynchronous track generators, min speed filter, and update testing v1.3.23 ------- improved checksums logic for raw data file duplicate checking v1.3.22 ------- add code coverage to CI v1.3.21 ------- error handling in web scraping v1.3.20 ------- asynchronous linear interpolation v1.3.19 ------- improved database query logic; update static messages aggregation and tests v1.3.18 ------- update testing v1.3.17 ------- improved error handling when decoding timestamps v1.3.16 ------- update documentation v1.3.15 ------- fix webscraping schema insert conflict v1.3.14 ------- fix function name in broken test v1.3.13 ------- bug fixes and improvements to web scraping database v1.3.12 ------- minor docs cleanup v1.3.11 ------- update parameter selection and docs in network graph module v1.3.10 ------- prevent panic when decoding malformed NMEA messages v1.3.9 ------ update webscraping for zero-config changes v1.3.8 ------ minor changes to docs and docker build v1.3.7 ------ client side bug fixes v1.3.6 ------ bug fixes v1.3.5 ------ refactor encoder v1.3.4 ------ add more integration testing v1.3.3 ------ replace GPL license with MIT license v1.3.2 ------ update websocket server and docker-compose for zero-config v1.3.1 ------ remove configuration requirement v1.3.0 ------ updated database model (version:minor) v1.2.2 ------ fix commit script and remove version.py v1.2.1 ------ minor fixes in dockerfile to install latest package wheel v1.2.0 ------ Package build overhaul using native rust modules #version:minor v1.1.10 ------- fix bugs when viewing from firefox browser v1.1.9 ------ bug fix v1.1.8 ------ front end overhaul v1.1.7 ------ fully asynchronous server backend v1.1.6 ------ update website build v1.1.5 ------ web client: enable filtering tracks by vessel type, and add ecoregions polygon display via GET request v1.1.4 ------ update nginx routing v1.1.3 ------ update server to vectorize zone geometry when sending to client v1.1.2 ------ docker build: optimize generated webassembly v1.1.1 ------ numerous bug fixes in webapp v1.1.0 ------ update readme #version:minor v1.0.106 -------- improved error handling for database query edge cases; v1.0.105 -------- bug fixes and improvements v1.0.104 -------- update socketserver and map v1.0.103 -------- more support for different message headers in decoder v1.0.102 -------- fix graph in network graph CSV file writing v1.0.101 -------- merge wasm-test feature branch v1.0.100 -------- minor front end fixes v1.0.99 ------- bug fixes in web scraping DB v1.0.98 ------- web client updates v1.0.97 ------- resolve trajectory linking issue v1.0.96 ------- update webapp v1.0.95 ------- refactor polygon geometry handling v1.0.94 ------- bug fixes and improvements to processing pipeline v1.0.93 ------- bug fixes in web scraping v1.0.92 ------- update database client v1.0.91 ------- database query improvements v1.0.90 ------- tuning network graph processing v1.0.89 ------- websocket server for web application database v1.0.88 ------- update python package build and docker build v1.0.87 ------- update sphinx documentation v1.0.86 ------- web application prototyping: Merge branch 'webmap' into master v1.0.85 ------- bug fix in trajectory processing pipeline v1.0.84 ------- improvements and bug fixes in metadata collection v1.0.83 ------- collect vessel metadata when building indexes v1.0.82 ------- improved contextualization of multi-part messages in rust decoder and bump rust dependency versions v1.0.81 ------- rewrite web scraper v1.0.80 ------- fix filepath error when creating database tables v1.0.79 ------- update track generation from web data sources v1.0.78 ------- trim whitespace in SQL select query v1.0.77 ------- refactoring web data sources v1.0.76 ------- minor fixes and code cleanup v1.0.75 ------- update CSV functions for new DB format v1.0.74 ------- refactor track interpolation v1.0.73 ------- updates to network graph pipeline v1.0.72 ------- prevent files from being decoded twice and update vessel type descriptions v1.0.71 ------- compute vessel distance to submerged location v1.0.70 ------- fix bug in rust decoder v1.0.69 ------- update testing v1.0.68 ------- vessel positions polygon masking, update function names, and minor changes v1.0.67 ------- update readme install text and proc_util v1.0.66 ------- update web scraping v1.0.65 ------- update message logging; fix bugs in rust decoder v1.0.64 ------- update readme v1.0.63 ------- update gitlab CI v1.0.62 ------- removing unnecessary code v1.0.61 ------- improved cross-platform support in rust executable v1.0.60 ------- update CI v1.0.59 ------- filter malformed payloads in rust decoder v1.0.58 ------- include sqlite3 binaries in package preventing issues with outdated software on ubuntu v1.0.57 ------- prevent rust executable from crashing due to malformed message payload v1.0.56 ------- update minimum required SQLite version v1.0.55 ------- comments in marinetraffic module; committing before merge v1.0.54 ------- fix bug in SQL query generation when querying multiple months at a time v1.0.53 ------- file checksums performance tuning v1.0.52 ------- prevent rust executable from crashing when trying to decode empty data files v1.0.51 ------- store a checksum for every decoded data file; skip decoding if the checksum exists v1.0.50 ------- docstrings and formatting in index.py v1.0.49 ------- minor SQL updates v1.0.48 ------- fix bug in DBQuery.run_qry() and improved bathymetry raster memory management v1.0.47 ------- update testing for database creation v1.0.46 ------- fix path resolution errors when creating database from raw data v1.0.45 ------- update setup.py and sphinxbuild, rename csvreader.rs v1.0.44 ------- update SQL documentation v1.0.43 ------- add docstrings and reformatting SQL code v1.0.42 ------- update project URL v1.0.41 ------- support for reading exactearth CSV format v1.0.40 ------- move SQL code to aisdb_sql/ v1.0.39 ------- update gebco bathymetry rasters to latest dataset v1.0.38 ------- update rust package for CSV decoder dependency v1.0.37 ------- rust tests for reading from csv v1.0.36 ------- comment some lines of code not being used right now v1.0.35 ------- rename variable for clarity v1.0.34 ------- add time segmenting to network graph processing v1.0.33 ------- qgis plotting: add line/marker size customization, docstrings, and application window button placeholders v1.0.32 ------- fix binarysearch to return an index even if search is out of range v1.0.31 ------- fix divide by zero error when computing vessel speed v1.0.30 ------- fix SQL error during database creation v1.0.29 ------- update readme v1.0.28 ------- docstrings, testing, and formatting v1.0.27 ------- improvement to loading raster data v1.0.26 ------- update loading data from marinetraffic.com API v1.0.25 ------- add port distance v1.0.24 ------- refactor network graph CSV columns v1.0.23 ------- include ship type as string in database query by default v1.0.22 ------- add ship_type when generating track vectors and update docstrings v1.0.21 ------- improved status messages when decoding v1.0.20 ------- fix bug with decoding ship_type properly v1.0.19 ------- prevent network_graph from failing if tmp_dir doesnt exist v1.0.18 ------- data generation for testing, update network graph test, bathymetry and shore distance now passing tests v1.0.17 ------- bump dependency version requirement v1.0.16 ------- bug fix, error handling when modeling vessel trajectories, and updated testing for additional data sources v1.0.15 ------- add changelog to sphinx docs v1.0.14 ------- update post-commit hook v1.0.13 ------- add post-commit hook to repo v1.0.12 ------- automated version incrementing and changelog updates v1.0.11 ------- add changelog