Skip to main content

Version 0.9.0 released!

Fietsboek 0.9.0 has been released! The last few months have been a bit slower in development, but this release still brings a few nice features.

For one thing, users can now set tracks as favourites, which helps to keep bigger collections organized.

Secondly, we now have the first graph available on the profile page! While a nice addition on its own, it also lays the groundwork to add more graphs easily in the future.

Besides those bigger changes, there were also a few smaller improvements, such as a language chooser or more information on the home page.

The release is available via git (tag: v0.9.0) and PyPI.

Changelog

Added

  • The fietsctl user modify --set-email command.

  • The count of tagged people in the home page overview.

  • Favourites!

  • A button to log out all current sessions.

  • A setting to disable image uploads.

  • Average track length & duration on profile page.

  • The language chooser.

  • The first graph on the profile page.

Changed

  • GPX file downloads now set the filename when downloading.

Fixed

  • Friends that are already tagged are hidden when searching for friends to tag.

  • Parsing of the custom tile layers.

  • Bootstrapping of new instances (thanks networkjanitor).

Version 0.8.0 released!

Fietsboek 0.8.0 has been released! I was looking forward to releasing this, as it adds support for .fit files, as well as sorting options for the home page and the browse page.

In addition to the user-facing changes (which admittedly, aren't that many), there are some bug fixes and some administration goodies (a small fietsctl rework).

The release is available via git (tag: v0.8.0) and PyPI.

Changelog

Added

  • The ability to directly import .fit files.

  • A setting to limit the number of hittekaart threads.

  • A button to change the sorting on the home page.

  • Different sortings on the "Browse" page.

  • The "Fix elevation jumps" transformer

  • The fietsctl track del, fietsctl track list and fietsctl user modify commands.

  • The ability to request a new verification mail.

Changed

  • The user tiles now return an empty tile instead of a 404 for tiles that have no content.

  • Images on a track page are sorted by their original file name.

  • The "Fietsboek" icon and tag are now a link to the home page.

  • Tokens now expire after 24 hours.

  • The fietsctl command names have been changed.

Fixed

  • A missing script tag has been added again, which fixes two bugs:

    • The tileproxy not being used.

    • Only the default map layers being shown.

  • GPX files with links (like the BRouter ones) are now saved as valid GPX.

Version 0.7.0 released!

Fietsboek 0.7.0 has been released! The main thing in this release — besides some small ergonomic improvements — is the fact that we now have profile pages, and with it, integration with hittekaart!

This integration now provides you with the ability to render heatmaps for the user, either manually via fietsctl, or automatically as part of the fietscron maintenance jobs.

The release is available via git (tag: v0.7.0) and PyPI.

Rust & Fietsboek

Usually, rust and bicycles are not a great combination, but for Fietsboek it's a good fit. Rust helps to make performance critical sections of the code fast, or allows us to use crates from the Rust ecosystem for functionality that does not exist in form of a Python package.

We already use Rust code via pydantic, but now there is more thanks to nh3 — and I am not opposed to adding more Rust code in the future, e.g. to speed up GPX parsing or the transformers.

However, as nice as Rust is, distributing the Rust/Python packages is a bit more cumbersome than plain Python packages, as they need to be compiled for the different platforms and architectures. Not all packages can provide precompiled versions for all platforms and architectures combinations, and might just provide the most common ones.

Thanks to maturin, Rust crates can be built automatically by pip during their installation, but that does require a working Rust toolchain. Thus, if you see the following error (or something similar, depending on your system and pip versions), make sure to install the Rust compiler and cargo:

error: subprocess-exited-with-error

× Preparing metadata (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [6 lines of output]
    Checking for Rust toolchain....

    Cargo, the Rust package manager, is not installed or is not on PATH.
    This package requires Rust and Cargo to compile extensions. Install it through
    the system's package manager or via https://rustup.rs/

    [end of output]

The bottom line is this: Version 0.7.0 is not the first one to ship with Rust code, but due to the addition of another Rust dependency, you might need to install a Rust toolchain now. More Rust code might be added in the future, so be ready ;-)

Changelog

Added

  • Profile pages with "milestone tracks" (longest, shortest, ...).

  • Integration with hittekaart for heatmaps on the profile.

  • A data version check at startup.

  • The Remove Breaks transformer.

  • Unfinished uploads are now shown to the user on the home page.

Changed

  • fietsctl now uses click for argument parsing, some CLI behavior might have changed.

  • All commands now assume fietsboek.ini as the default configuration path.

  • bleach has been replaced with nh3.

Version 0.6.0 released!

Fietsboek 0.6.0 has been released! While this release does bring some fixes and small improvements (such as the track length being shown on the home page), the big new thing is that transformers have been added!

Currently, there is a single transformer that fixes points with wrong elevation, which is not only very useful in practise, but also lays the general groundwork for more transformers. From now on, it should be easier to add more transformations.

You can find out more about the transformers (from a user point of view) in the documentation.

The SQL migration is rather small in this update, but this shouldn't stop you from creating a backup before updating. Have fun!

The release is available via git (tag: v0.6.0) and PyPI.

Added

  • The maintenance mode.

  • The summary on the home page now shows the number of tracks per time period.

  • The summary on the home page now shows the track length at first glance.

  • Transformers 🎉

Changed

  • Python 3.9 is the new minimum Python version (up from 3.7).

  • The tile proxy will now do at most 2 concurrent requests per tile provider.

Fixed

  • Page reading for systems that use a non-UTF-8 locale.

  • The filename above the map is hidden again.

  • Inconsistency issues when exceptions would happen during the upload/editing of a track.

Version 0.5.0 released!

Fietsboek 0.5.0 has been released! There have been a few fixes and quality-of-life improvements for the user side, such as the "Remember me" checkbox to stay logged in for longer than the default 15 minutes.

On the back-end, the biggest change is that GPX files are now stored outside of the database. The update script will take care of migrating them. GPX files are now also served faster, as they are delivered in their compressed form!

You can now also make use of the fietscron script for regular maintenance tasks. Currently, the list of tasks is rather small (deleting old uploads & rebuilding missing caches), but the future might bring more of them.

The release is available via git (tag: v0.5.0) and PyPI.

Added

  • A "Remember me" option when logging in.

  • The ability to load external (third party) language packs.

  • GPX metadata (track title, description & author) are now embedded into the actual GPX file.

  • The fietscron maintenance script.

Changed

  • The configuration file is now parsed and validated at application startup with better error reports.

  • GPX content is now delivered compressed if the browser supports it.

  • GPX files are now stored outside of the database.

Fixed

  • Account registration giving a 400 error.

  • Track deletion being forbidden for users.

  • Descriptions embedded in GPX tracks not being pre-filled when uploading the track.

  • Maximum zoom levels for the map not being respected.

Version 0.4.0 released!

Fietsboek 0.4.0 has been released! On the user side, this release does not bring many new features, however it introduces the tile proxy and custom changes.

The release is available via git (tag: v0.4.0) and PyPI.

Added

  • Support to render pages with custom (static) content.

  • Support to overwrite the home page's content.

  • Autocompletion for tags in upload & edit forms.

  • The fietsupdate script for arbitrary update commands.

Changed

  • Filters are now evaluated in SQL for better efficiency.

  • Tiles are now proxied through Fietsboek.

Fixed

  • Track participants not being shown anymore.

[]