Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

3.0.0 - 2026-01-28

We are thrilled to announce the release of version 3.0.0, our latest milestone and the result of months of steady work over the past year.

This update brings a number of improvements that make the analyzer more reliable, easier to use, and better aligned with current data sources. We’ve updated core dependencies, added support for new OSM tagging conventions, improved boundary handling, refreshed population and employment data, and fixed several long-standing issues. Together, these changes should make analyses more accurate and reduce the amount of troubleshooting needed when running cities in different regions.

We want to highlight the contribution of Mitchell Henke, who has consistently helped move the project forward through thoughtful PRs and careful reviews. His work has directly shaped several of the improvements included in this release.

We also want to recognize the broader ecosystem, from OSM mappers to data tool maintainers, which plays a major role in making tools like this possible.

Finally, thank you to everyone who reported bugs, proposed fixes, or contributed ideas along the way. Your feedback directly improves the tool, and we’re grateful for every contribution, no matter the size.

Fixed

  • Added support for US Census County Subdivisions #991

  • Implemented an exception for Puerto Rico. [#978]

Changed

  • Simplify stress designation on lower order segments #1011

  • Higher order segment stress updates #1010

  • Ignore width for footpaths where bike=designated #1007

  • Autodetect latest LODES year. #967

  • Upgrade to osm2pgrouting 3. #977

  • Use Census Bureau boundaries for US cities. #956

  • Exclude calculating census blocks that are outside of boundary. #896

  • Use 2020 Census Population and Employment Data. #850

  • Better documentation. [multiple PRs]

Added

  • Add ferry terminals to transit destinations #1006

  • Add Classifying Bike Infrastructure with QGIS How-to Guide #1004

  • Export city boundaries. #953

  • Support new contraflow bike lane tagging. #890

  • Remove redundant LODES table updates. #888

  • Support new pedestrian island tagging when setting island column. #900

  • Implement a caching mechanism. #894

  • Add missing block-level category scores. #961

2.6.5 - 2025-10-04

Fixed

  • Fixed logic to retrieve city boundaries. #947

  • Removed the country of Georgia from the Geofabrik client. #948

  • Escaped special characters in SQL command to export files. #949

2.6.4 - 2025-09-05

Fixed

  • Fixed PostgreSQL healthcheck command. #914

Changed

  • Improved osmnx query to be more specific. #913

  • Improved DEV container user experience. #925

2.6.3 - 2025-08-06

Fixed

  • Fixed conversion of zero to NULL in SQL query substitution .#895

  • Fixed ignored lodes_year parameter in the run-with command.#910

2.6.2 - 2025-07-23

Fixed

  • Excluded golf courses paths from bicycle infrastructure. #889

2.6.1 - 2025-06-29

Fixed

  • Fixed a bug preventing to export the results in some cases. #883

2.6.0 - 2025-06-18

Fixed

  • Removed unused columns and indices in neighborhood_connected_census_blocks table. #824

  • Fixed normalizing country name before building location slug in compute command. #851

  • Fixed the calver algorithm to handle more than 10 revisions. #856

  • Fixed issues preventing running cities in Malaysia. #864

Changed

  • Used new format for street parking tagging. #807

  • Excluded ways with access=private or have access=no and do no explicitly allow bicycles. #847

Added

  • Added cache folder for downloads. #842

  • Added ability to run partial analysis. #845

  • Added ability to compute bike lane mileage. #831 #870

External contributor(s)

2.5.0 - 2025-03-22

Fixed

  • Water blocks where not being deleted. #832

  • --export-dir option was ignored. #820

Changed

  • Updated width calculation logic. #800

Added

  • Added the ability to use a development container for local development. #718

2.4.0 - 2024-11-13

Fixed

  • Prevent database tables from being moved incorrectly. #727

  • Extra dependencies were not being installed in the Docker image. #729

Added

  • Update the Docker Compose file to use PostgreSQL 17 and PostGIS 3.4. #724

  • Export all tables as GeoJSON. #726

2.3.0 - 2024-09-17

Fixed

  • Fixed table name in census block calculations. #648

Changed

  • Added indexes for intersection_to and intersection_from on neighborhood_ways. #654

  • Reduced size of connected roads tables and indexes. #660

New contributor(s)

A warm welcome and big thank you to our new contributor(s) for this release:

Thank you for joining our community and making a difference!

2.2.1 - 2024-07-06

Fixed

  • Fixed the Docker image. #652

2.2.0 - 2024-07-06 [YANKED]

Added

  • Added the ability to bundle the results. #617

2.1.2 - 2024-05-14

Fixed

  • Added missing parameter to the run command. #603

2.1.1 - 2024-03-16

This is a release to fix the release workflows.

2.1.0 - 2024-03-16

Added

  • Added a new CLI sub-command to export results to a custom S3 bucket. #518

Changed

  • Updated dentists, doctors, hospitals, pharmacies, retail, and schools to incorporate alternate or new OSM tags. #542

2.0.0 - 2024-02-19

We are incredibly proud to announce the release of version 2.0.0 of the brokenspoke-analyzer, a significant milestone marking a comprehensive overhaul of the original Bicycle Network Analyzer.

In the process of rewriting the original tool, and incorporating it into the brokenspoke-analyzer, a myriad of changes and improvements were implemented to enhance its functionality and performance.

However, given the extensive nature of these modifications, providing a detailed changelog for every feature proved impractical and overwhelming.

Instead, the decision was made to focus on the overarching shift from Bash to Python in the changelog, emphasizing the fundamental improvements and the migration to a more robust programming language.

Moving forward, a commitment has been made to maintain a comprehensive and up-to-date changelog, ensuring that all future enhancements and features will be meticulously documented to provide transparency and facilitate user understanding.

2.0.0-alpha - 2023-09-16

Added

  • Add Python scripts for importing data into database and configuring database. #265

  • Enable MyPy to ensure coherence between the various parameters passed from the command line to the core modules. #282

  • Add Python scripts for computing the analysis. #291

  • Add Python scripts for exporting the results of the analysis using the calver naming scheme. #294

  • Add the capability to package the application as a Docker container. #301

  • Add the run sub-command. #305

  • Add the run-with sub-command. #310

  • Add the run-with compare sub-command. #315

  • Add end-to-end testing for comparing the results between the brokenspokespoke analyzer and the original BNA. #316

  • Add a new CI workflow to run end-to-end tests. #321

  • Add a feature to validate downloaded PBF OpenStreetMap files using md5 checksums and gzip files using the gzip package. #329

Changed

  • Update and reorganize the CLI. #274

  • Update the documentation. #330

Fixed

  • Various SQL-related fixes. #320

1.3.0 - 2023-08-20

Added

  • Add an option to name the container running the analysis. #215

  • Add a dataset to represent California. #223

  • Add a CLI flag to specify the city FIPS code. #240

  • Add capability to retry and cleanup partial downloads. #272

Changed

  • Replaced GDAL dependency with pandas. #259

Fixed

  • Bind the population.zip file to the internal /data directory. #211

  • Ensure the boundary shapefile encoding is UTF-8. #212

  • Fix the logic to retrieve the state information. #213

  • Sanitize variables passed to the Docker container. #214

  • Ensure the District of Columbia is considered as a US state. #220

  • Ensure regions use only ASCII characters. #225

  • Use mph for the default speed limit instead of km/h. #239

1.2.1 - 2023-06-18

Fixed

  • Fix the Geofabrik downloader for Spain. #205

  • Adjust synthetic population shapefile name. #206

1.2.0 - 2023-06-14

Added

  • Update the bna prepare command to fetch all the required files even for US cities. #192

Fixed

  • Fix BNA run parameters in case the target is a US city. #152

  • Fix invalid CLI arguments for the bna prepare command. #190

  • Fix the output_dir option of the bna prepare command. #191

1.1.0 - 2022-10-08

Fixed

  • Add better support for international cities. #52

Changed

  • Updated the analyzer image to 0.16.1. #52

1.0.0 - 2022-08-14

First stable version.

1.0.0-rc.1 - 2022-08-07

This is the first usable release. It is possible to run analysis for any city in the world (although the analyzer will fail for some of them).

The tool is still a bit rough on the edges, that is why this is a release candidate, but the quirks will be ironned out for 1.0.0.