Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release Version 3.0.0-alpha.12 #1009

Merged
merged 532 commits into from
Aug 13, 2024
Merged

Release Version 3.0.0-alpha.12 #1009

merged 532 commits into from
Aug 13, 2024
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Apr 19, 2024

  1. Merge #805: Update dependencies

    87c9834 chore(deps): update dependencies (Jose Celano)
    
    Pull request description:
    
      ```ouput
      Updating crates.io index
      Updating chrono v0.4.37 -> v0.4.38
      Updating hyper v1.2.0 -> v1.3.1
      Updating proc-macro2 v1.0.80 -> v1.0.81
      Updating serde v1.0.197 -> v1.0.198
      Updating serde_derive v1.0.197 -> v1.0.198
      Updating serde_json v1.0.115 -> v1.0.116
      Updating syn v2.0.59 -> v2.0.60
      Updating toml_edit v0.22.9 -> v0.22.11
      ```
    
    ACKs for top commit:
      josecelano:
        ACK 87c9834
    
    Tree-SHA512: 23b9aabdd9f64eaa8620a3e74dab600982fa23330601e868345185976bbc6e9826b659940e7d84b3cc4d28f1dcec9b9dedf9d163e57bbbd1ac6c95ed6083413e
    josecelano committed Apr 19, 2024
    Configuration menu
    Copy the full SHA
    9a1ce0e View commit details
    Browse the repository at this point in the history

Commits on Apr 24, 2024

  1. Configuration menu
    Copy the full SHA
    b301596 View commit details
    Browse the repository at this point in the history
  2. format fix

    hungfnt committed Apr 24, 2024
    Configuration menu
    Copy the full SHA
    7de4fbc View commit details
    Browse the repository at this point in the history
  3. remove unused dependencies

    hungfnt committed Apr 24, 2024
    Configuration menu
    Copy the full SHA
    b27f002 View commit details
    Browse the repository at this point in the history
  4. Merge #810: chore:[#674] Tracker Checker: Ouput in JSON

    b27f002 remove unused dependencies (ngthhu)
    7de4fbc format fix (ngthhu)
    b301596 chore:[#674] Tracker Checker: Ouput in JSON (ngthhu)
    
    Pull request description:
    
    ACKs for top commit:
      josecelano:
        ACK b27f002
    
    Tree-SHA512: 571125c6204f98e49d7003ab16549dc98f258f4c183e029dcddb53f5af5a72c8fa8cb564d2afef075ea5ee35edad72a593467b551c43dca18430d79f229b0eb6
    josecelano committed Apr 24, 2024
    Configuration menu
    Copy the full SHA
    92349d3 View commit details
    Browse the repository at this point in the history

Commits on May 2, 2024

  1. Configuration menu
    Copy the full SHA
    effca56 View commit details
    Browse the repository at this point in the history
  2. Merge #814: Refactor UdpClient to return errors instead of panicking

    effca56 refactor: [#681] udp return errors instead of panicking (ngthhu)
    
    Pull request description:
    
      I replaced panics with error handling using `anyhow::Result<T>`, which is equivalent to `std::result::Result<T, anyhow::Error>`. Although I can run `cargo run` without errors, I'm not certain if there are any hidden bugs.
    
    ACKs for top commit:
      josecelano:
        ACK effca56
    
    Tree-SHA512: 30653458d1f2b3155dbdddd0f5197cee6746819122db45d58c0aaa4a0b9cae0fccee76b769afb22b57749c2140d042580125ad2689fafa0b65ec6847866f659b
    josecelano committed May 2, 2024
    Configuration menu
    Copy the full SHA
    90c7780 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    895efe9 View commit details
    Browse the repository at this point in the history
  4. Merge #826: refactor: [#680] http return errors instead of panicking

    895efe9 refactor: [#680] http return errors instead of panicking (ngthhu)
    
    Pull request description:
    
      Refactor: HTTP tracker client returns errors instead of panicking.
    
    ACKs for top commit:
      josecelano:
        ACK 895efe9
    
    Tree-SHA512: 96a96a45ba71fabcf1857aeaa013cb333eee20620b749d5fa4d241fb9ccc7fe46161dca08de5c42881418cfe7676e18a5171a20755a6e3d1e1fe542957820b68
    josecelano committed May 2, 2024
    Configuration menu
    Copy the full SHA
    f64e8fb View commit details
    Browse the repository at this point in the history

Commits on May 6, 2024

  1. Configuration menu
    Copy the full SHA
    7551857 View commit details
    Browse the repository at this point in the history
  2. Merge #832: Update dependencies

    7551857 chore(deps): update dependencies (Jose Celano)
    
    Pull request description:
    
      ```output
          Updating crates.io index
           Locking 63 packages to latest compatible versions
          Updating anstream v0.6.13 -> v0.6.14
          Updating anstyle v1.0.6 -> v1.0.7
          Updating anstyle-parse v0.2.3 -> v0.2.4
          Updating anstyle-query v1.0.2 -> v1.0.3
          Updating anstyle-wincon v3.0.2 -> v3.0.3
            Adding aquatic_peer_id v0.9.0
          Updating aquatic_udp_protocol v0.8.0 -> v0.9.0
          Updating async-compression v0.4.8 -> v0.4.9
          Updating async-task v4.7.0 -> v4.7.1
          Updating autocfg v1.2.0 -> v1.3.0
          Updating base64 v0.22.0 -> v0.22.1
          Updating blocking v1.5.1 -> v1.6.0
          Updating borsh v1.4.0 -> v1.5.0
          Updating borsh-derive v1.4.0 -> v1.5.0
          Updating brotli v4.0.0 -> v5.0.0 (latest: v6.0.0)
          Updating brotli-decompressor v3.0.0 -> v4.0.0
            Adding castaway v0.2.2
          Updating cc v1.0.94 -> v1.0.96
          Updating colorchoice v1.0.0 -> v1.0.1
            Adding compact_str v0.7.1
          Updating concurrent-queue v2.4.0 -> v2.5.0
            Adding env_logger v0.8.4 (latest: v0.11.3)
          Updating event-listener-strategy v0.5.1 -> v0.5.2
          Updating fastrand v2.0.2 -> v2.1.0
          Updating flate2 v1.0.28 -> v1.0.30
          Updating hashbrown v0.14.3 -> v0.14.5
            Adding is_terminal_polyfill v1.70.0
          Updating jobserver v0.1.30 -> v0.1.31
          Updating libc v0.2.153 -> v0.2.154
          Updating lock_api v0.4.11 -> v0.4.12
          Updating num-traits v0.2.18 -> v0.2.19
          Updating parking_lot v0.12.1 -> v0.12.2
          Updating parking_lot_core v0.9.9 -> v0.9.10
          Updating pest v2.7.9 -> v2.7.10
          Updating pest_derive v2.7.9 -> v2.7.10
          Updating pest_generator v2.7.9 -> v2.7.10
          Updating pest_meta v2.7.9 -> v2.7.10
          Updating polling v3.6.0 -> v3.7.0
            Adding quickcheck v1.0.3
          Updating redox_syscall v0.4.1 -> v0.5.1
          Updating relative-path v1.9.2 -> v1.9.3
          Updating reqwest v0.12.3 -> v0.12.4
          Updating ringbuf v0.3.3 -> v0.4.0
          Updating rustix v0.38.32 -> v0.38.34
          Updating rustls v0.21.10 -> v0.21.12 (latest: v0.23.5)
          Updating rustls-pki-types v1.4.1 -> v1.5.0
          Updating security-framework v2.10.0 -> v2.11.0
          Updating security-framework-sys v2.10.0 -> v2.11.0
          Updating serde v1.0.198 -> v1.0.200
          Updating serde_derive v1.0.198 -> v1.0.200
          Updating serde_with v3.7.0 -> v3.8.1
          Updating serde_with_macros v3.7.0 -> v3.8.1
          Updating signal-hook-registry v1.4.1 -> v1.4.2
          Updating socket2 v0.5.6 -> v0.5.7
          Updating thiserror v1.0.58 -> v1.0.59
          Updating thiserror-impl v1.0.58 -> v1.0.59
          Updating tokio-util v0.7.10 -> v0.7.11
          Updating toml_edit v0.22.11 -> v0.22.12
          Updating value-bag v1.8.1 -> v1.9.0
          Updating winapi-util v0.1.6 -> v0.1.8
          Updating winnow v0.6.6 -> v0.6.8
          Updating zerocopy v0.7.32 -> v0.7.33
          Updating zerocopy-derive v0.7.32 -> v0.7.33
      ```
    
      I had to revert some crates due to breaking changes:
    
      - ringbuf
      - aquatic_udp_protocol
    
    ACKs for top commit:
      josecelano:
        ACK 7551857
    
    Tree-SHA512: 63089013a1ed9c10c811486b8e4e849b86978bff7b45a8251b4a94a84732fa656bed61c6db351b1e4da4ebd4799a645ec2064388d182df781fae373aa21d3534
    josecelano committed May 6, 2024
    Configuration menu
    Copy the full SHA
    2719d5e View commit details
    Browse the repository at this point in the history

Commits on May 7, 2024

  1. Configuration menu
    Copy the full SHA
    801d913 View commit details
    Browse the repository at this point in the history
  2. Merge #837: Bump aquatic_udp_protocol from 0.8.0 to 0.9.0

    801d913 chore(deps): bump aquatic_udp_protocol from 0.8.0 to 0.9.0 (Jose Celano)
    
    Pull request description:
    
      Bump `aquatic_udp_protocol` from `0.8.0` to `0.9.0`.
      There are breaking changes.
    
    ACKs for top commit:
      josecelano:
        ACK 801d913
    
    Tree-SHA512: 5ae9daacf52176850f24cb2421be8795fd8abe8cb7503a7a0f6be3c3ed081a8f384230d3ce5a3a0122508bfa3d8c5ff94c4763a67d99b3191fefdd0bc8b4c278
    josecelano committed May 7, 2024
    Configuration menu
    Copy the full SHA
    25ecdce View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    be51d2f View commit details
    Browse the repository at this point in the history
  4. Merge #839: Bump ringbuf from 0.3.3 to 0.4.0

    be51d2f chore(deps): bump ringbuf from 0.3.3 to 0.4.0 (Jose Celano)
    
    Pull request description:
    
      Bump `ringbuf` from `0.3.3` to `0.4.0`.
    
    ACKs for top commit:
      josecelano:
        ACK be51d2f
    
    Tree-SHA512: aa12d494e2035cd6fd2dcf2b863b84ba675764faca75130e17dfd076d81e9eba73185ef524e43ea7aa3acbaa17115eb85ffe01013c565e7a7536bf9d8e0653b3
    josecelano committed May 7, 2024
    Configuration menu
    Copy the full SHA
    36a0b96 View commit details
    Browse the repository at this point in the history
  5. chore(deps): update dependencies

    ```output
    cargo update
        Updating crates.io index
         Locking 14 packages to latest compatible versions
        Updating anyhow v1.0.82 -> v1.0.83
        Updating cc v1.0.96 -> v1.0.97
        Updating getrandom v0.2.14 -> v0.2.15
        Updating num-bigint v0.4.4 -> v0.4.5
        Updating proc-macro2 v1.0.81 -> v1.0.82
        Updating rustls-pki-types v1.5.0 -> v1.6.0
        Updating rustversion v1.0.15 -> v1.0.16
        Updating ryu v1.0.17 -> v1.0.18
        Updating semver v1.0.22 -> v1.0.23
        Updating syn v2.0.60 -> v2.0.61
        Updating thiserror v1.0.59 -> v1.0.60
        Updating thiserror-impl v1.0.59 -> v1.0.60
        Updating zerocopy v0.7.33 -> v0.7.34
        Updating zerocopy-derive v0.7.33 -> v0.7.34
    ```
    josecelano committed May 7, 2024
    Configuration menu
    Copy the full SHA
    62d4a20 View commit details
    Browse the repository at this point in the history
  6. Merge #840: Update dependencies

    62d4a20 chore(deps): update dependencies (Jose Celano)
    
    Pull request description:
    
      ```output
      cargo update
          Updating crates.io index
           Locking 14 packages to latest compatible versions
          Updating anyhow v1.0.82 -> v1.0.83
          Updating cc v1.0.96 -> v1.0.97
          Updating getrandom v0.2.14 -> v0.2.15
          Updating num-bigint v0.4.4 -> v0.4.5
          Updating proc-macro2 v1.0.81 -> v1.0.82
          Updating rustls-pki-types v1.5.0 -> v1.6.0
          Updating rustversion v1.0.15 -> v1.0.16
          Updating ryu v1.0.17 -> v1.0.18
          Updating semver v1.0.22 -> v1.0.23
          Updating syn v2.0.60 -> v2.0.61
          Updating thiserror v1.0.59 -> v1.0.60
          Updating thiserror-impl v1.0.59 -> v1.0.60
          Updating zerocopy v0.7.33 -> v0.7.34
          Updating zerocopy-derive v0.7.33 -> v0.7.34
      ```
    
    ACKs for top commit:
      josecelano:
        ACK 62d4a20
    
    Tree-SHA512: 3cd650de6dffdf1fc809184947c2e3b9bba242c11ad0a713fc0159694544f4da8baa14cfd1f82d9c75f403abe31d5cebcb526d187c972ce0667813e3d7db39d1
    josecelano committed May 7, 2024
    Configuration menu
    Copy the full SHA
    5348669 View commit details
    Browse the repository at this point in the history
  7. feat: log aborted UDP requests

    This will add a warning to the lofs when a UDP request is aborted.
    josecelano committed May 7, 2024
    Configuration menu
    Copy the full SHA
    e3143f7 View commit details
    Browse the repository at this point in the history
  8. Merge #841: feat: log aborted UDP requests

    e3143f7 feat: log aborted UDP requests (Jose Celano)
    
    Pull request description:
    
      This will add a warning to the logs when a UDP request is aborted.
    
    ACKs for top commit:
      josecelano:
        ACK e3143f7
    
    Tree-SHA512: db44e3358e3ac45d36c0f88c420bfdd3b0412d2ee4a4c7d564a47aba5398979b4d1765836ae740855943e4559c1f68520d8c5256690839c864559f4ef3d46a37
    josecelano committed May 7, 2024
    Configuration menu
    Copy the full SHA
    690d1d2 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    3dee03e View commit details
    Browse the repository at this point in the history
  10. Merge #843: Update installation docs

    3dee03e docs: udpate installation docs (Jose Celano)
    
    Pull request description:
    
      Update installation docs.
    
    ACKs for top commit:
      josecelano:
        ACK 3dee03e
    
    Tree-SHA512: 2bce1719680d8aaceac3c1b72929fd67d3a1b664af3dbb324c7afcc98581768f64e8415e2735366b49a6ababf77df37f12f8dbb074953ce3c5a18be654fc476d
    josecelano committed May 7, 2024
    Configuration menu
    Copy the full SHA
    a1408ad View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    cddc4de View commit details
    Browse the repository at this point in the history

Commits on May 8, 2024

  1. Merge #844: chore(deps): bump rustc-demangle from v0.1.23 to `v0.…

    …1.24`
    
    cddc4de chore(deps): bump rustc-demangle v0.1.23 -> v0.1.24 (Jose Celano)
    
    Pull request description:
    
      ```output
      cargo update
          Updating crates.io index
           Locking 1 package to latest compatible version
          Updating rustc-demangle v0.1.23 -> v0.1.24
      ```
    
    Top commit has no ACKs.
    
    Tree-SHA512: 25d2d2fc8219df4d03633f93a1806ea7fe596fc31e374fdc76307cd38931e282eb853c88ea4b0aeb91b0ba3614c51c57d02fedc983a7c608501967030bec67a3
    josecelano committed May 8, 2024
    Configuration menu
    Copy the full SHA
    a0a51c8 View commit details
    Browse the repository at this point in the history
  2. docs: fix profiling docs

    - Remove unnecessary file
    - Fix filename typo
    josecelano committed May 8, 2024
    Configuration menu
    Copy the full SHA
    6f02aeb View commit details
    Browse the repository at this point in the history
  3. Merge #847: docs: fix profiling docs

    6f02aeb docs: fix profiling docs (Jose Celano)
    
    Pull request description:
    
      - Remove unnecessary file
      - Fix filename typo
    
    ACKs for top commit:
      josecelano:
        ACK 6f02aeb
    
    Tree-SHA512: e2718c84474debd08a7c05f31d99be253454d7f504e6a6327e2c607ca9691abafac44cbb3d202f905c6d600f6676fa6dc0dfa703cf1fc38bccd02162ceca7bf0
    josecelano committed May 8, 2024
    Configuration menu
    Copy the full SHA
    218fbbe View commit details
    Browse the repository at this point in the history
  4. dev: fix udp ring-buffer not looping

    My previous version would be limited to a single thread, as `push_overwrite` would keep on returning the last element when the ring-buffer was full.
    
    Now the ring-buffer is pre-filled and is looped over with a mutating iterator.
    
    New handles are progressively swapped-in when the old entries are finished.
    
    Note: I think that this implementation can be replaced with a standard vector with the same effect.
    da2ce7 authored and josecelano committed May 8, 2024
    Configuration menu
    Copy the full SHA
    9e01f7f View commit details
    Browse the repository at this point in the history
  5. Merge #846: dev: fix udp ring-buffer not looping

    9e01f7f dev: fix udp ring-buffer not looping (Cameron Garnham)
    
    Pull request description:
    
      @da2ce7's previous version would be limited to a single thread, as `push_overwrite` would keep on returning the last element when the ring-buffer was full.
    
      Now, the ring-buffer is pre-filled and is looped over with a mutating iterator.
    
      New handles are progressively swapped-in when the old entries are finished.
    
      Note: I think that this implementation can be replaced with a standard vector with the same effect.
    
    Top commit has no ACKs.
    
    Tree-SHA512: 362ea9148c7a7c6c990b881fe34087f4f61fdd80aa6aecfe3d11f3da3d0440fa6db38e97bb93fc8e57ed55cc05d229260bf353b5d06c7541b88a710ddbe5bba4
    josecelano committed May 8, 2024
    Configuration menu
    Copy the full SHA
    31ab3a9 View commit details
    Browse the repository at this point in the history
  6. chore(deps): add dependency figment

    It will replace the custom code for configuration inyection.
    josecelano committed May 8, 2024
    Configuration menu
    Copy the full SHA
    7da52b1 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    f0e0721 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    157807c View commit details
    Browse the repository at this point in the history
  9. refactor: create new configuration v1 mod with figment

    - Clone config strcuctures into a new mod `v1`.
    - Introduce versioning for configuration API.
    - Split config sections into submodules.
    
    TODO:
    
    - Still using root mod types in production.
    - Not using figment to build config in production.
    josecelano committed May 8, 2024
    Configuration menu
    Copy the full SHA
    636e779 View commit details
    Browse the repository at this point in the history
  10. refactor: create new configuration v1 mod with figment

    - Clone config strcuctures into a new mod `v1`.
    - Introduce versioning for configuration API.
    - Split config sections into submodules.
    
    TODO:
    
    - Still using root mod types in production.
    - Not using figment to build config in production.
    josecelano committed May 8, 2024
    Configuration menu
    Copy the full SHA
    e7d344c View commit details
    Browse the repository at this point in the history
  11. refactor: reexport config versioned config types

    This is part of the migration to Figment in the configuration.
    
    This expose new versioned types (version 1). However, those types still
    used the old Config crate. Replacement by Figment has not been done yet.
    josecelano committed May 8, 2024
    Configuration menu
    Copy the full SHA
    002fb30 View commit details
    Browse the repository at this point in the history
  12. refactor: replace Config by Figment in Configuration implementation

    This replaces the crate `config` with `figment` in the Configuration
    implementation.
    josecelano committed May 8, 2024
    Configuration menu
    Copy the full SHA
    265d89d View commit details
    Browse the repository at this point in the history
  13. chore: remove unused config dependenciy

    It was replaced by `figment`.
    josecelano committed May 8, 2024
    Configuration menu
    Copy the full SHA
    5bd9494 View commit details
    Browse the repository at this point in the history
  14. feat: enable overwrite Configuration values using env vars

    Enable Figment ability to overwrite all config options with env vars.
    
    We are currently overwriting only this value:
    
    ```toml
    [http_api.access_tokens]
    admin = "MyAccessToken"
    ```
    
    With the env var `TORRUST_TRACKER_API_ADMIN_TOKEN`. The name we gave to
    the env var does nto follow Figment convention which is `TORRUST_TRACKER_HTTP_API.ACCESS_TOKENS.ADMIN`.
    
    We have to keep both options until we remove the old one in the rest of
    the code.
    josecelano committed May 8, 2024
    Configuration menu
    Copy the full SHA
    146b77d View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    632c8ba View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    b3a1442 View commit details
    Browse the repository at this point in the history

Commits on May 9, 2024

  1. feat: use double underscore to split config env var names

    For example, the env var `TORRUST_TRACKER__HTTP_API__ACCESS_TOKENS__ADMIN` would be the config option:
    
    ```
    [http_api.access_tokens]
    admin = "MyAccessToken"
    ```
    
    It uses `__` double underscore becuase dots are not allowed in Bash
    names.
    
    See: https://www.gnu.org/software/bash/manual/bash.html#Definitions
    
    ```
    name
      A word consisting solely of letters, numbers, and underscores, and beginning with a letter or underscore. Names are used as shell variable and function names. Also referred to as an identifier.
    ```
    josecelano committed May 9, 2024
    Configuration menu
    Copy the full SHA
    caae725 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    69d7939 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b0c2f9f View commit details
    Browse the repository at this point in the history
  4. tests: add test for configuration with deprecated env var name

    Until it's updated in this repor and the Index repo you can overwrite
    the admin token using the new env var name and the old one (deprecated):
    
    - New: `TORRUST_TRACKER__HTTP_API__ACCESS_TOKENS__ADMIN`
    - Old (deprecated): `TORRUST_TRACKER_API_ADMIN_TOKEN`
    
    THe new one uses exactly the strcuture and atribute  names in the toml
    file, using `__` as the separator for levels.
    
    We can remove the test when we remove the deprecated name.
    josecelano committed May 9, 2024
    Configuration menu
    Copy the full SHA
    43942ce View commit details
    Browse the repository at this point in the history
  5. feat: allow users not to provide config option with default values

    Now, you are able to run the tracler like this:
    
    ```
    TORRUST_TRACKER_CONFIG="" cargo run
    ```
    
    Default values will be used for the missing values in the provided
    configuration. In that case, none of the values have been provided, so
    it will use default values for all options.
    josecelano committed May 9, 2024
    Configuration menu
    Copy the full SHA
    0252f30 View commit details
    Browse the repository at this point in the history
  6. Merge #808: Use figment for configuration

    0252f30 feat: allow users not to provide config option with default values (Jose Celano)
    43942ce tests: add test for configuration with deprecated env var name (Jose Celano)
    b0c2f9f docs: update env var name in toml config template files (Jose Celano)
    69d7939 refactor: implement Default for Configuration sections (Jose Celano)
    caae725 feat: use double underscore to split config env var names (Jose Celano)
    b3a1442 refactor!: remove unused method in Configuration (Jose Celano)
    632c8ba refactor: move Configuration unit test to inner mods (Jose Celano)
    146b77d feat: enable overwrite Configuration values using env vars (Jose Celano)
    5bd9494 chore: remove unused config dependenciy (Jose Celano)
    265d89d refactor: replace Config by Figment in Configuration implementation (Jose Celano)
    002fb30 refactor: reexport config versioned config types (Jose Celano)
    e7d344c refactor: create new configuration v1 mod with figment (Jose Celano)
    636e779 refactor: create new configuration v1 mod with figment (Jose Celano)
    157807c chore(deps): enable figment features: env, toml, test (Jose Celano)
    f0e0721 test: remove broken example in rustdoc (Jose Celano)
    7da52b1 chore(deps): add dependency figment (Jose Celano)
    
    Pull request description:
    
      Relates to: #790
    
      This PR migrates the configuration implementation to use [Figment](https://crates.io/crates/figment) as suggested by @da2ce7 [here](#401).
    
      ### Context
    
      I was working on a configuration validation in this [PR](#790). I wanted to validate things like socket addresses earlier when we parse the configuration instead of waiting until the app launches the service. For example, the UDP tracker configuration contains the `bind_address`:
    
      ```toml
      [[udp_trackers]]
      bind_address = "0.0.0.0:6969"
      enabled = false
      ```
    
      That configuration maps to a `String`:
    
      ```rust
      pub struct UdpTracker {
          pub enabled: bool,
          pub bind_address: String,
      }
      ```
    
      I realized that kind of very basic validation could be actually done just changing the types in the configuration. For example:
    
      ```rust
      pub struct UdpTracker {
          pub enabled: bool,
          pub bind_address: ScoketAddr,
      }
      ```
    
      There are other functionalities like overwritting values in the config file with env vars that can be implemented with Figment (merge).
    
      So I decided to migrate to Figment the current version and update the configuration after the migration.
    
      ### Subtasks without changing current config API (toml or struct)
    
      - [x] Implement a new configuration mod with Figment.
      - [x] Reorganize configuration mods creating new submods for config file sections.
      - [x] Introduce versioning for configuration, so that we can make breaking changes to the configuration in the future.
      - [x] Replace in production the configuration with the new Figment implementation.
      - [x] Use `Default` trait for config sections (not only root config).
      - [x] Allow users not to provide values when defaults are OK for them.
    
      ### FUTURE PR: Subtasks changing current config API (structs)
    
      These changes do not change the toml file configuration, only the parsed type.
    
      - Use reach types like SockeAddr to validate some types without even starting the services.
    
      ### FUTURE PR: Subtasks changing current config API (toml and structs)
    
      At this point, an extra validation could be needed like the one described [here](#790). For example, if  you enable TSL for the tracker API you must provide both the certificate path and the certificate key path:
    
      ```toml
      [http_api]
      bind_address = "127.0.0.1:1212"
      enabled = true
      ssl_cert_path = ""
      ssl_enabled = false
      ssl_key_path = ""
      ```
    
      I think that type of validation could be implementented after parsing the inyected config or maybe just reorganizcing the toml file structure. For example:
    
      No API enabled:
    
      ```toml
      # No section [http_api]
      ```
    
      API enabled but no TSL enabled:
    
      ```toml
      [http_api]
      bind_address = "127.0.0.1:1212"
      ```
    
      API enabled with TSL enabled:
    
      ```toml
      [http_api]
      bind_address = "127.0.0.1:1212"
    
      [http_api.tsl_config]
      ssl_cert_path = "./storage/tracker/lib/tls/localhost.crt"
      ssl_key_path = "./storage/tracker/lib/tls/localhost.key"
      ```
    
      We would not need the `enabled` field. If the section is present the feature is enabled. If it's not it means that feature is disabled.
    
      These breaking changes will be added in a new `v2` configuration in a new PR.
    
    ACKs for top commit:
      josecelano:
        ACK 0252f30
    
    Tree-SHA512: 94c7baa8566744c9e79bc9c56aae836d7a9b4272c42965c2dc88ec04b6a297b830c8eb7cb65d318c74e00aa5e27cc7c56784d6b083af04e98aadff4c82af5239
    josecelano committed May 9, 2024
    Configuration menu
    Copy the full SHA
    a20c9d7 View commit details
    Browse the repository at this point in the history

Commits on May 10, 2024

  1. Configuration menu
    Copy the full SHA
    384e9f8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1475ead View commit details
    Browse the repository at this point in the history
  3. refactor: [#852] enrich field types in HttpTracker config struct

    If the next major config version the `TslConfig` shoud always contain
    valid file paths and the whole field should be optional in the parent
    strcut `HttpTracker`:
    
    ```rust
    pub struct HttpTracker {
        pub enabled: bool,
        pub bind_address: SocketAddr,
        pub ssl_enabled: bool,
        #[serde(flatten)]
        pub tsl_config: Optional<TslConfig>,
    }
    
    pub struct TslConfig {
        pub ssl_cert_path: PathBuf,
        pub ssl_key_path: PathBuf,
    }
    ```
    
    That mean, the user could provide it or not, but if it's provided file
    paths can't be empty.
    josecelano committed May 10, 2024
    Configuration menu
    Copy the full SHA
    fc191f7 View commit details
    Browse the repository at this point in the history
  4. chore(deps): add dependency camino

    We are using `String` to represent a filepath. We are refactoring to enrich types in configuration. Filepath should be represented with `PathBuf` but it allows non UTF-8 chars, so it can't be serialized.
    
    Since we need to serialize config options (toml, json) is valid UTF-8 strings, we need a type that represents a valid fileptah but also is a valid UTF-8 strings. That makes impossible to use non-UTF8 fielpath. It seems that's a restriction accepted for a lot of projects including Rust `cargo`.
    josecelano committed May 10, 2024
    Configuration menu
    Copy the full SHA
    a2e718b View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    3997cfa View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    ceb3074 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    7519ecc View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    b545b33 View commit details
    Browse the repository at this point in the history
  9. Merge #854: Refactor: enrich field types in configuration structs

    b545b33 refactor: [#852] extract Core configuration type (Jose Celano)
    7519ecc refactor: [#852] enrich field types in Configuration struct (Jose Celano)
    ceb3074 refactor: [#852] enrich field types in HttpApi config struct (Jose Celano)
    3997cfa refactor: [#852] eenrich field types in TslConfig config struct (Jose Celano)
    a2e718b chore(deps): add dependency camino (Jose Celano)
    fc191f7 refactor: [#852] enrich field types in HttpTracker config struct (Jose Celano)
    1475ead refactor: [#852] eenrich field types in UdpTracker config struct (Jose Celano)
    384e9f8 refactor: [#852] eenrich field types in HealthCheckApi config struct (Jose Celano)
    
    Pull request description:
    
      Relates to: #790
    
      Refactor: enrich field types in configuration structs.
    
      This will cause the app to fail earlier while loading invalid configurations and simplify the code by reducing conversions to get the rich type from the primitive when it's used.
    
      - [x] `HealthCheckApi`
      - [x] `UdpTracker`
      - [x] `HttpTracker`
      - [x] `HttpApi`
      - [x] `Configuration`
    
      Output example when you provide an invalid socket address:
    
      ```output
      $ cargo run
          Finished `dev` profile [optimized + debuginfo] target(s) in 0.10s
           Running `target/debug/torrust-tracker`
      Loading default configuration file: `./share/default/config/tracker.development.sqlite3.toml` ...
      thread 'main' panicked at src/bootstrap/config.rs:45:32:
      called `Result::unwrap()` on an `Err` value: ConfigError { source: LocatedError { source: Error { tag: Tag(Default, 2), profile: Some(Profile(Uncased { string: "default" })), metadata: Some(Metadata { name: "TOML source string", source: None, provide_location: Some(Location { file: "packages/configuration/src/v1/mod.rs", line: 397, col: 14 }), interpolater:  }), path: ["health_check_api", "bind_address"], kind: Message("invalid socket address syntax"), prev: None }, location: Location { file: "packages/configuration/src/v1/mod.rs", line: 400, col: 41 } } }
      note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
      ```
    
      You get that error proving this config option:
    
      ```toml
      [health_check_api]
      bind_address = "127.0.0.1-1313"
      ```
    
      The error contains all the information needed, although it could be more user-friendly. Maybe we can map that error to a simpler explanation like this:
    
      ```
      Configuration error: invalid socket address provided in toml file PATH in section `health_check_api` option `bind_address`.
      ```
    
    ACKs for top commit:
      josecelano:
        ACK b545b33
    
    Tree-SHA512: 5d4ca16d882447e9eacc882022346e0cd7484f7b5a0d7aa1754e94cde438e6fe486d690d9977df171c9c792ab5ed3cd814bc500f3fac91cfdf76eb76b5306dc7
    josecelano committed May 10, 2024
    Configuration menu
    Copy the full SHA
    014ca38 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    ae77ebc View commit details
    Browse the repository at this point in the history
  11. Merge #857: Refactor: tracker core service only needs the core config

    ae77ebc refactor: tracker core service only needs the core config (Jose Celano)
    
    Pull request description:
    
      Relates to: #401
    
      After [extracting the `Core` config type](b545b33), we don't need to pass the whole configuration to the tracker core service. We can pass only its config.
    
    ACKs for top commit:
      josecelano:
        ACK ae77ebc
    
    Tree-SHA512: dfff87307fdf764291e0fd1c9441c0b8e971c8398294c3b1d99fd673618d117c557dea56e768cca39fd51509253895c105ed16d356f710ae7e4e7b923d9da39e
    josecelano committed May 10, 2024
    Configuration menu
    Copy the full SHA
    3c78bba View commit details
    Browse the repository at this point in the history

Commits on May 13, 2024

  1. feat: define only non-defaults in toml config templates

    After implementing the configuration with Figment, it's now possible to
    omit values if they have a default value. Therefore we don't need to add
    all options in templates. We only need to add values that are
    overwriting deffault values.
    josecelano committed May 13, 2024
    Configuration menu
    Copy the full SHA
    445bd53 View commit details
    Browse the repository at this point in the history

Commits on May 14, 2024

  1. Merge #858: Use only non-defaults in toml config templates

    445bd53 feat: define only non-defaults in toml config templates (Jose Celano)
    
    Pull request description:
    
      After implementing the configuration with Figment, it's possible to omit values if they are defaults. Therefore, we don't need to add all options in templates. We only need to add values that overwrite the default values.
    
      For example, the new configuration file for development environment (`share/default/config/tracker.development.sqlite3.toml`) is:
    
      ```toml
      [[udp_trackers]]
      enabled = true
    
      [[http_trackers]]
      enabled = true
      ```
    
      The only difference with the default values is UDP and HTTP services are enabled.
    
      This makes it easier to maintain these templates and to see what changes have been made compared to the default values.
    
    ACKs for top commit:
      josecelano:
        ACK 445bd53
    
    Tree-SHA512: 0f2367adf49bc87669c49662c3203d513bde7f9c821638dca6149de7c31759a8e6243af8a857e7227f154920be43f63b19b0d7e25858748658be362010628a32
    josecelano committed May 14, 2024
    Configuration menu
    Copy the full SHA
    d9909a6 View commit details
    Browse the repository at this point in the history
  2. chore(deps): update dependencies

    ```ouput
    Updating crates.io index
     Locking 13 packages to latest compatible versions
    Removing allocator-api2 v0.2.18
    Updating async-channel v2.2.1 -> v2.3.0
    Updating async-compression v0.4.9 -> v0.4.10
    Updating brotli v5.0.0 -> v6.0.0
    Updating bytemuck v1.15.0 -> v1.16.0
    Updating errno v0.3.8 -> v0.3.9
    Updating hashlink v0.9.0 -> v0.9.1
    Updating piper v0.2.1 -> v0.2.2
    Updating rustls-pki-types v1.6.0 -> v1.7.0
    Updating serde v1.0.200 -> v1.0.201
    Updating serde_derive v1.0.200 -> v1.0.201
    Updating serde_json v1.0.116 -> v1.0.117
    Updating syn v2.0.61 -> v2.0.63
    Updating waker-fn v1.1.1 -> v1.2.0
    ```
    josecelano committed May 14, 2024
    Configuration menu
    Copy the full SHA
    cf1bfb1 View commit details
    Browse the repository at this point in the history
  3. Merge #859: Update dependencies

    cf1bfb1 chore(deps): update dependencies (Jose Celano)
    
    Pull request description:
    
      ```ouput
      Updating crates.io index
       Locking 13 packages to latest compatible versions
      Removing allocator-api2 v0.2.18
      Updating async-channel v2.2.1 -> v2.3.0
      Updating async-compression v0.4.9 -> v0.4.10
      Updating brotli v5.0.0 -> v6.0.0
      Updating bytemuck v1.15.0 -> v1.16.0
      Updating errno v0.3.8 -> v0.3.9
      Updating hashlink v0.9.0 -> v0.9.1
      Updating piper v0.2.1 -> v0.2.2
      Updating rustls-pki-types v1.6.0 -> v1.7.0
      Updating serde v1.0.200 -> v1.0.201
      Updating serde_derive v1.0.200 -> v1.0.201
      Updating serde_json v1.0.116 -> v1.0.117
      Updating syn v2.0.61 -> v2.0.63
      Updating waker-fn v1.1.1 -> v1.2.0
      ```
    
    ACKs for top commit:
      josecelano:
        ACK cf1bfb1
    
    Tree-SHA512: 744185f597c32cc17841221947630473556354b085f7ea5b46b872999929deb46aeba12e371f1a9e5f2bc26654564e83abdaa59bebce4a6ee33c1b1d661ff0b1
    josecelano committed May 14, 2024
    Configuration menu
    Copy the full SHA
    92408bc View commit details
    Browse the repository at this point in the history
  4. refactor: [#855] show toml file location in Figment errors

    Before this commit we loaded configuration in Figment always using a
    Toml string even if the configuration cames from a toml file. WHen there
    is an error Figment does not show the file location and that's one of
    the main advantages of using Figment. All errors point to the primary
    source of the configuration option.
    
    This commit fixes that problem leting Figment to load the configuration
    from the file when the user provides a file.
    
    Sample error:
    
    ```
    Loading configuration from default configuration file: `./share/default/config/tracker.development.sqlite3.toml` ...
    thread 'main' panicked at src/bootstrap/config.rs:45:32:
    called `Result::unwrap()` on an `Err` value: ConfigError { source: LocatedError { source: Error { tag: Tag(Default, 2), profile: Some(Profile(Uncased { string: "default" })), metadata: Some(Metadata { name: "TOML file", source: Some(File("/home/developer/torrust/torrust-tracker/./share/default/config/tracker.development.sqlite3.toml")), provide_location: Some(Location { file: "packages/configuration/src/v1/mod.rs", line: 330, col: 18 }), interpolater:  }), path: [], kind: Message("TOML parse error at line 2, column 15\n  |\n2 | enabled = truee\n  |               ^\nexpected newline, `#`\n"), prev: None }, location: Location { file: "packages/configuration/src/v1/mod.rs", line: 334, col: 41 } } }
    note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
    ```
    
    Notice how the file path is included is the error: `/home/developer/torrust/torrust-tracker/./share/default/config/tracker.development.sqlite3.toml`
    josecelano committed May 14, 2024
    Configuration menu
    Copy the full SHA
    da6a21e View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    4de5e7d View commit details
    Browse the repository at this point in the history
  6. Merge #860: Show toml file location in Figment errors

    4de5e7d refactor: move config env vars to configuration package (Jose Celano)
    da6a21e refactor: [#855] show toml file location in Figment errors (Jose Celano)
    
    Pull request description:
    
      Before this PR, we loaded the configuration in Figment, always using a Toml string, even if the configuration came from a Toml file. When there is an error, Figment does not show the file location, and that's one of the main advantages of using Figment. All errors point to the primary source of the configuration option.
    
      This commit fixes the problem of Figment not showing the file location when the user provides a file and there is an error.
    
      Sample error:
    
      ```
      Loading configuration from default configuration file: `./share/default/config/tracker.development.sqlite3.toml` ...
      thread 'main' panicked at src/bootstrap/config.rs:45:32:
      called `Result::unwrap()` on an `Err` value: ConfigError { source: LocatedError { source: Error { tag: Tag(Default, 2), profile: Some(Profile(Uncased { string: "default" })), metadata: Some(Metadata { name: "TOML file", source: Some(File("/home/developer/torrust/torrust-tracker/./share/default/config/tracker.development.sqlite3.toml")), provide_location: Some(Location { file: "packages/configuration/src/v1/mod.rs", line: 330, col: 18 }), interpolater:  }), path: [], kind: Message("TOML parse error at line 2, column 15\n  |\n2 | enabled = truee\n  |               ^\nexpected newline, `#`\n"), prev: None }, location: Location { file: "packages/configuration/src/v1/mod.rs", line: 334, col: 41 } } }
      note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
      ```
    
      Notice how the file path is included is the error: `/home/developer/torrust/torrust-tracker/./share/default/config/tracker.development.sqlite3.toml`
    
    ACKs for top commit:
      josecelano:
        ACK 4de5e7d
    
    Tree-SHA512: 24418ed976f13fccb17a32c1075bb4a4bf02c89e0f8632486a6faccc0fcc8d9c5f1d2a6b9b8f62db76e0e5ffdf3e3728e145d3458c352948709012e30ddc79a1
    josecelano committed May 14, 2024
    Configuration menu
    Copy the full SHA
    7938433 View commit details
    Browse the repository at this point in the history
  7. refactor: [#851] rename env vars

    ```
    TORRUST_TRACKER_BACK_           -> TORRUST_TRACKER_
    
    TORRUST_TRACKER_DATABASE_DRIVER -> TORRUST_TRACKER_CONFIG_OVERRIDE_DB_DRIVER
    TORRUST_TRACKER_API_ADMIN_TOKEN -> TORRUST_TRACKER_CONFIG_OVERRIDE_HTTP_API__ACCESS_TOKENS__ADMIN
    
    TORRUST_TRACKER_CONFIG          -> TORRUST_TRACKER_CONFIG_TOML
    TORRUST_TRACKER_PATH_CONFIG     -> TORRUST_TRACKER_CONFIG_TOML_PATH
    ```
    
    DB_DRIVER values: `MySQL`, `Sqlite3`. Removed lowercase values `mysql`
    and `sqlite3` used in containers. Some enums use lowercase. This is a
    braking change for container but not for configuration. IN the future we
    could use lowercase also in the configuration.
    josecelano committed May 14, 2024
    Configuration menu
    Copy the full SHA
    ef15e0b View commit details
    Browse the repository at this point in the history
  8. feat!: remove deprecated env var

    The env var `TORRUST_TRACKER_API_ADMIN_TOKEN` was replaced with `TORRUST_TRACKER_CONFIG_OVERRIDE_HTTP_API__ACCESS_TOKENS__ADMIN`.
    
    After the migration to Figment all configuration options can be
    overwritten.
    josecelano committed May 14, 2024
    Configuration menu
    Copy the full SHA
    a4d2adf View commit details
    Browse the repository at this point in the history
  9. Merge #861: Rename environments variables

    a4d2adf feat!: remove deprecated env var (Jose Celano)
    ef15e0b refactor: [#851] rename env vars (Jose Celano)
    
    Pull request description:
    
      ```text
      TORRUST_TRACKER_BACK_           -> TORRUST_TRACKER_
    
      TORRUST_TRACKER_DATABASE_DRIVER -> TORRUST_TRACKER_CONFIG_OVERRIDE_DB_DRIVER
      TORRUST_TRACKER_API_ADMIN_TOKEN -> TORRUST_TRACKER_CONFIG_OVERRIDE_HTTP_API__ACCESS_TOKENS__ADMIN
    
      TORRUST_TRACKER_CONFIG          -> TORRUST_TRACKER_CONFIG_TOML
      TORRUST_TRACKER_PATH_CONFIG     -> TORRUST_TRACKER_CONFIG_TOML_PATH
      ```
    
      DB_DRIVER values: `MySQL`, `Sqlite3`. Removed lowercase values `mysql` and `sqlite3` used in containers. Some enums use lowercase. This is a breaking change for containers but not for configuration. In the future, we could use lowercase also in the configuration.
    
    ACKs for top commit:
      josecelano:
        ACK a4d2adf
    
    Tree-SHA512: 9cbe5a94667c6a3df63949dc9a26e0323d909aef2e450e4de71b93be3d93d9ae9192d60f1a7b36f9fc0a886021a45ee28db005b83ab50d12f8a992d6dda254ff
    josecelano committed May 14, 2024
    Configuration menu
    Copy the full SHA
    1ed2c74 View commit details
    Browse the repository at this point in the history
  10. docs: update README

    - Fix missing line break after badgets.
    - Add roadmap draft.
    josecelano committed May 14, 2024
    Configuration menu
    Copy the full SHA
    e1e1071 View commit details
    Browse the repository at this point in the history
  11. Merge #862: Update README

    e1e1071 docs: update README (Jose Celano)
    
    Pull request description:
    
      Update README:
    
      - Fix missing line break after badgets.
      - Add roadmap draft.
    
    ACKs for top commit:
      josecelano:
        ACK e1e1071
    
    Tree-SHA512: d64919126564bd899ea8f513e27942a90a9d71c38f4afd020c3b60a7737416285b742176eac4ca4b39156aca88bc992f761d51d3f59c6a9904026c2fa22b0fe6
    josecelano committed May 14, 2024
    Configuration menu
    Copy the full SHA
    c0c107d View commit details
    Browse the repository at this point in the history
  12. docs: udpate roadmap in README

    I copied the Index roadmap isntead of the tracker one by mistake.
    josecelano committed May 14, 2024
    Configuration menu
    Copy the full SHA
    80fc8d6 View commit details
    Browse the repository at this point in the history
  13. Merge #863: Fix Roadmap in README

    80fc8d6 docs: udpate roadmap in README (Jose Celano)
    
    Pull request description:
    
      Fix the Roadmap in README. I copied the Index draft roadmap instead of the Tracker one by mistake.
    
    ACKs for top commit:
      josecelano:
        ACK 80fc8d6
    
    Tree-SHA512: 9f4681d6b58854ece454969313e78c0e12be55320d4cfb4f4a8c11838af589931ae6f9d29373000d1b9e73eee12cd2af17eff2c8e8211633dcf68cffc4a04129
    josecelano committed May 14, 2024
    Configuration menu
    Copy the full SHA
    8dc0520 View commit details
    Browse the repository at this point in the history

Commits on May 15, 2024

  1. chore(deps): add cargo dependencies needed for axum timeouts

    We want to add timeouts for the Axum server configuration, in order to
    close HTTP connections when the client doesn't send any request after
    opening a HTTP connection.
    josecelano committed May 15, 2024
    Configuration menu
    Copy the full SHA
    dadc216 View commit details
    Browse the repository at this point in the history
  2. fix: [#612] add timeout for time waiting for the first API requests

    Adds a timeout for the Tracker API for the time the server waits for the
    first request from the client after openning a new HTTP connection.
    josecelano committed May 15, 2024
    Configuration menu
    Copy the full SHA
    112b76d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9e42a1a View commit details
    Browse the repository at this point in the history
  4. Merge #865: Add timeouts for Axum server in the Tracker API

    9e42a1a feat: [#612] tower middleware to apply timeouts to requests (Jose Celano)
    112b76d fix: [#612] add timeout for time waiting for the first API requests (Jose Celano)
    dadc216 chore(deps): add cargo dependencies needed for axum timeouts (Jose Celano)
    
    Pull request description:
    
      Add timeouts for Axum server in the Tracker API:
    
      1. Timeout for the first request after opening the HTTP connection. [408 Request Timeout](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/408).
      2. HTTP1 header read timeout. Set a timeout for reading client request headers. If a client does not transmit the entire header within this time, the connection is closed.
      3. HTTP2 keep alive timeout: Sets a timeout for receiving an acknowledgement of the keep-alive ping. If the ping is not acknowledged within the timeout, the connection will be closed. Does nothing if `http2_keep_alive_interval` is disabled.
      4. HTTP2 keep alive interval: Sets an interval for HTTP2 Ping frames should be sent to keep a connection alive.
      5. [Tower middleware which applies a timeout to requests](https://docs.rs/tower-http/latest/tower_http/timeout/index.html).
    
      The current implementation for the first timeout does not send any message ([408 Request Timeout](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/408)). [It seems is also common practice](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/408).
    
      To test the first case, you can open a connection to the API without sending any request with:
    
      ```output
      telnet 127.0.0.1 1212
      Trying 127.0.0.1...
      Connected to 127.0.0.1.
      Escape character is '^]'.
      ```
    
      After 5 seconds you will see:
    
      ```output
      Connection closed by foreign host.
      ```
    
      For advance manual testing you can use: https://github.com/josecelano/axum-server-timeout
    
    ACKs for top commit:
      josecelano:
        ACK 9e42a1a
    
    Tree-SHA512: 08923b1f1d314a87c5c5fb3651219470fd48f6c6d9ce00f7dd802536b3eb9d44290f319ac8ef44a2f1a005bfab5d75abaf554c5b2241b1a86c6e2008b61894ab
    josecelano committed May 15, 2024
    Configuration menu
    Copy the full SHA
    d0e66b7 View commit details
    Browse the repository at this point in the history
  5. fix: [#613] add timeout for time waiting for the first HTTP tracker

    request
    
    Adds a timeout to the HTTP tracker for the time the server waits for the
    first request from the client after openning a new HTTP connection.
    
    It also adds a tower middleware for timeouts in requests.
    josecelano committed May 15, 2024
    Configuration menu
    Copy the full SHA
    23d5e5e View commit details
    Browse the repository at this point in the history
  6. Merge #866: Add timeout for time waiting for the first HTTP tracker r…

    …equest
    
    23d5e5e fix: [#613] add timeout for time waiting for the first HTTP tracker request (Jose Celano)
    
    Pull request description:
    
      This adds a timeout to the HTTP tracker for the time the server waits for the first request from the client after opening a new HTTP connection.
    
      It also adds a tower middleware for timeouts in requests.
    
      To test the first case, you can open a connection to the API without sending any request with:
    
      ```output
      telnet 127.0.0.1 7070
      Trying 127.0.0.1...
      Connected to 127.0.0.1.
      Escape character is '^]'.
      ```
    
      After 5 seconds you will see:
    
      ```output
      Connection closed by foreign host.
      ```
    
      The current implementation for the first timeout does not send a [408 Request Timeout](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/408) message. [It seems it is also a common practice](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/408).
    
      For advanced manual testing, you can use https://github.com/josecelano/axum-server-timeout
    
    ACKs for top commit:
      josecelano:
        ACK 23d5e5e
    
    Tree-SHA512: a348141c1c0cb8a0b5ffd6537fe3cc3793038afba0a4bae30ad806f8fd45d090cd5fd8fcd0a1fb63ccf37807cd2e9469fd7450f620d1356dde70d516a79635ca
    josecelano committed May 15, 2024
    Configuration menu
    Copy the full SHA
    67e6cf1 View commit details
    Browse the repository at this point in the history

Commits on May 19, 2024

  1. Fix REAADME HTTP port

    GGLinnk authored May 19, 2024
    Configuration menu
    Copy the full SHA
    23c52b1 View commit details
    Browse the repository at this point in the history

Commits on May 20, 2024

  1. Merge #874: Fix README HTTP port

    23c52b1 Fix REAADME HTTP port (Gabriel Grondin)
    
    Pull request description:
    
      Fix incorrect HTTP port in the readme (was the udp port)
    
    ACKs for top commit:
      josecelano:
        ACK 23c52b1
    
    Tree-SHA512: cb6e3f0ff6a57be315b0ef19c04d01d7417d3584a05280ab64046a19139120b2e5f0f96958846172975df3bc54cfc35e47b8ebc4b32807bef6be501844fd078a
    josecelano committed May 20, 2024
    Configuration menu
    Copy the full SHA
    5478c3d View commit details
    Browse the repository at this point in the history
  2. Fix and improved bootstrap jobs module test.

    On O.S. with different language than english the BadTlsConfig source error message will differ from the compared one.
    This will fix this issue by matching the enum itself instead of relying on a string compare.
    GGLinnk committed May 20, 2024
    Configuration menu
    Copy the full SHA
    9be9366 View commit details
    Browse the repository at this point in the history
  3. Merge #875: Fix and improved bootstrap jobs module test.

    9be9366 Fix and improved bootstrap jobs module test. (Gabriel GRONDIN)
    
    Pull request description:
    
      On non-English operating systems, the source ``BadTlsConfig`` error message will be different from the compared message.
      This solves the problem by matching the enumeration itself, rather than relying on a string comparison.
    
    ACKs for top commit:
      josecelano:
        ACK 9be9366
    
    Tree-SHA512: c79ec1953e929ba9b2efe5c429645b34fd35a42f99924e78fd45ac9204dafaa96a1ac3097ac28014c808517eb2af67e16da64cba93974268c1735d1ad0de8baa
    josecelano committed May 20, 2024
    Configuration menu
    Copy the full SHA
    d4eaea9 View commit details
    Browse the repository at this point in the history

Commits on May 21, 2024

  1. feat: [#870] add privacy methods to the TrackerMode

    The tracker mode can be:
    
    - Public (Non-whitelisted)
    - Listed (Whitelisted)
    - Private (Non-whitelisted)
    - PrivateListed (Whitelisted)
    
    They should have been two different flags (in my opinion):
    
    - Visibility: public or private
    - Whitelisted: true or false
    
    So we would have the same four convinations:
    
    - Not whitelisted:
     - Public
     - Private
    - Whitelisted
     - Public
     - Private
    
    That's a pending refactor. For this commits, the goal is just to align
    this enum with what we added to the Index so we can use this enum in the
    Index via the primmitives crate.
    josecelano committed May 21, 2024
    Configuration menu
    Copy the full SHA
    932e66e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    74d8f79 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0c9da2f View commit details
    Browse the repository at this point in the history
  4. Merge #871: Add privacy methods to the TrackerMode enum

    0c9da2f feat: [#870] implement traits Dispaly and FromStr for TrackerMode (Jose Celano)
    74d8f79 feat: [#870] remove Copy trait from TrackerMode (Jose Celano)
    932e66e feat: [#870] add privacy methods to the TrackerMode (Jose Celano)
    
    Pull request description:
    
      The tracker mode can be:
    
      - Public (Non-whitelisted)
      - Listed (Whitelisted)
      - Private (Non-whitelisted)
      - PrivateListed (Whitelisted)
    
      There should have been two different flags (in my opinion):
    
      - Visibility: public or private
      - Whitelisted: true or false
    
      So we would have the same four combinations:
    
      - Not whitelisted:
        - Public
        - Private
      - Whitelisted
        - Public
        - Private
    
      That's a pending refactor. For this PR, the goal is just to align this enum with what we added to the Index so we can use it in the Index via the primitive crate.
    
      See https://github.com/torrust/torrust-index/blob/develop/src/config.rs#L140-L171
    
    ACKs for top commit:
      josecelano:
        ACK 0c9da2f
    
    Tree-SHA512: 526cbd57d4d7e5ff5668c870dc2d24a27b60e73ac07da99dab1139337729e04dbce1704d348a64bd1466440640b8652f3ff20d847e933ed800463b2100ef261d
    josecelano committed May 21, 2024
    Configuration menu
    Copy the full SHA
    b92401f View commit details
    Browse the repository at this point in the history

Commits on May 31, 2024

  1. chore(deps): update dependencies

    ```output
    $ cargo update
        Updating crates.io index
        Updating addr2line v0.21.0 -> v0.22.0 (latest: v0.23.0)
        Updating anyhow v1.0.83 -> v1.0.86
        Updating async-channel v2.3.0 -> v2.3.1
        Updating async-compression v0.4.10 -> v0.4.11
        Updating async-executor v1.11.0 -> v1.12.0
        Updating backtrace v0.3.71 -> v0.3.72
        Updating blocking v1.6.0 -> v1.6.1
        Updating brotli-decompressor v4.0.0 -> v4.0.1
        Updating camino v1.1.6 -> v1.1.7
        Updating cc v1.0.97 -> v1.0.98
        Updating clang-sys v1.7.0 -> v1.8.1
        Updating crc32fast v1.4.0 -> v1.4.2
        Updating crossbeam-channel v0.5.12 -> v0.5.13
        Updating crossbeam-utils v0.8.19 -> v0.8.20
        Updating darling v0.20.8 -> v0.20.9
        Updating darling_core v0.20.8 -> v0.20.9
        Updating darling_macro v0.20.8 -> v0.20.9
        Updating either v1.11.0 -> v1.12.0
        Updating event-listener v5.3.0 -> v5.3.1
        Updating figment v0.10.18 -> v0.10.19
        Updating gimli v0.28.1 -> v0.29.0 (latest: v0.30.0)
        Updating h2 v0.4.4 -> v0.4.5
        Updating hyper-util v0.1.3 -> v0.1.5
        Updating instant v0.1.12 -> v0.1.13
        Updating libc v0.2.154 -> v0.2.155
        Updating libz-sys v1.1.16 -> v1.1.18
        Updating linux-raw-sys v0.4.13 -> v0.4.14 (latest: v0.6.4)
        Updating miniz_oxide v0.7.2 -> v0.7.3
        Updating native-tls v0.2.11 -> v0.2.12
        Updating object v0.32.2 -> v0.35.0 (latest: v0.36.0)
        Updating parking_lot v0.12.2 -> v0.12.3
        Updating plotters v0.3.5 -> v0.3.6
        Updating plotters-backend v0.3.5 -> v0.3.6
        Updating plotters-svg v0.3.5 -> v0.3.6
        Updating proc-macro2 v1.0.82 -> v1.0.84
        Updating ringbuf v0.4.0 -> v0.4.1
        Updating rstest v0.19.0 -> v0.20.0
        Updating rstest_macros v0.19.0 -> v0.20.0
        Updating rustversion v1.0.16 -> v1.0.17
        Updating serde v1.0.201 -> v1.0.203
        Updating serde_derive v1.0.201 -> v1.0.203
        Updating serde_spanned v0.6.5 -> v0.6.6
        Removing strsim v0.10.0
        Updating syn v2.0.63 -> v2.0.66
        Updating thiserror v1.0.60 -> v1.0.61
        Updating thiserror-impl v1.0.60 -> v1.0.61
        Updating tokio v1.37.0 -> v1.38.0
        Updating tokio-macros v2.2.0 -> v2.3.0
        Updating toml v0.8.12 -> v0.8.13
        Updating toml_datetime v0.6.5 -> v0.6.6
        Updating toml_edit v0.22.12 -> v0.22.13
        Updating winnow v0.6.8 -> v0.6.9
    ```
    josecelano committed May 31, 2024
    Configuration menu
    Copy the full SHA
    9e71e71 View commit details
    Browse the repository at this point in the history
  2. fix: clippy errors

    josecelano committed May 31, 2024
    Configuration menu
    Copy the full SHA
    a3df726 View commit details
    Browse the repository at this point in the history
  3. Merge #881: Update dependencies

    a3df726 fix: clippy errors (Jose Celano)
    9e71e71 chore(deps): update dependencies (Jose Celano)
    
    Pull request description:
    
      ```output
      $ cargo update
          Updating crates.io index
          Updating addr2line v0.21.0 -> v0.22.0 (latest: v0.23.0)
          Updating anyhow v1.0.83 -> v1.0.86
          Updating async-channel v2.3.0 -> v2.3.1
          Updating async-compression v0.4.10 -> v0.4.11
          Updating async-executor v1.11.0 -> v1.12.0
          Updating backtrace v0.3.71 -> v0.3.72
          Updating blocking v1.6.0 -> v1.6.1
          Updating brotli-decompressor v4.0.0 -> v4.0.1
          Updating camino v1.1.6 -> v1.1.7
          Updating cc v1.0.97 -> v1.0.98
          Updating clang-sys v1.7.0 -> v1.8.1
          Updating crc32fast v1.4.0 -> v1.4.2
          Updating crossbeam-channel v0.5.12 -> v0.5.13
          Updating crossbeam-utils v0.8.19 -> v0.8.20
          Updating darling v0.20.8 -> v0.20.9
          Updating darling_core v0.20.8 -> v0.20.9
          Updating darling_macro v0.20.8 -> v0.20.9
          Updating either v1.11.0 -> v1.12.0
          Updating event-listener v5.3.0 -> v5.3.1
          Updating figment v0.10.18 -> v0.10.19
          Updating gimli v0.28.1 -> v0.29.0 (latest: v0.30.0)
          Updating h2 v0.4.4 -> v0.4.5
          Updating hyper-util v0.1.3 -> v0.1.5
          Updating instant v0.1.12 -> v0.1.13
          Updating libc v0.2.154 -> v0.2.155
          Updating libz-sys v1.1.16 -> v1.1.18
          Updating linux-raw-sys v0.4.13 -> v0.4.14 (latest: v0.6.4)
          Updating miniz_oxide v0.7.2 -> v0.7.3
          Updating native-tls v0.2.11 -> v0.2.12
          Updating object v0.32.2 -> v0.35.0 (latest: v0.36.0)
          Updating parking_lot v0.12.2 -> v0.12.3
          Updating plotters v0.3.5 -> v0.3.6
          Updating plotters-backend v0.3.5 -> v0.3.6
          Updating plotters-svg v0.3.5 -> v0.3.6
          Updating proc-macro2 v1.0.82 -> v1.0.84
          Updating ringbuf v0.4.0 -> v0.4.1
          Updating rstest v0.19.0 -> v0.20.0
          Updating rstest_macros v0.19.0 -> v0.20.0
          Updating rustversion v1.0.16 -> v1.0.17
          Updating serde v1.0.201 -> v1.0.203
          Updating serde_derive v1.0.201 -> v1.0.203
          Updating serde_spanned v0.6.5 -> v0.6.6
          Removing strsim v0.10.0
          Updating syn v2.0.63 -> v2.0.66
          Updating thiserror v1.0.60 -> v1.0.61
          Updating thiserror-impl v1.0.60 -> v1.0.61
          Updating tokio v1.37.0 -> v1.38.0
          Updating tokio-macros v2.2.0 -> v2.3.0
          Updating toml v0.8.12 -> v0.8.13
          Updating toml_datetime v0.6.5 -> v0.6.6
          Updating toml_edit v0.22.12 -> v0.22.13
          Updating winnow v0.6.8 -> v0.6.9
      ```
    
    ACKs for top commit:
      josecelano:
        ACK a3df726
    
    Tree-SHA512: 2ab2fcdaa45de8bce58175013e2c7b892bb66c07404957b2bfba9eec468b2ca55f0c6d682c3144c6bc0096f5fcfe711c96de6793977946a529e6ebdeafe4c0f1
    josecelano committed May 31, 2024
    Configuration menu
    Copy the full SHA
    a0a7056 View commit details
    Browse the repository at this point in the history

Commits on Jun 3, 2024

  1. Configuration menu
    Copy the full SHA
    4de7793 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    625db48 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    08e87ca View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    74f4cb0 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    5a529cc View commit details
    Browse the repository at this point in the history

Commits on Jun 4, 2024

  1. Configuration menu
    Copy the full SHA
    32416ee View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0157d96 View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2024

  1. Merge #876: [#670] new JSON serialization for connect and error aquat…

    …ic responses
    
    0157d96 refactor:[#670] fix clippy errors (Mario)
    32416ee refactor: [#670] changed DTOs and variable names (Mario)
    5a529cc refactor: [#670]  new mod for responses logic and refactors to json serialization trait (Mario)
    74f4cb0 refactor: [#670] added error message for pint_response function (Mario)
    08e87ca refactor: [#670] new print_response function from trait implemented (Mario)
    625db48 refactor: [#670] new trait for printing responses in JSON format and  enum for Dto wrapper (Mario)
    4de7793 feat: [#670] new JSON serialization for connect and error aquatic responses (Mario)
    
    Pull request description:
    
      Resolves #670
    
    ACKs for top commit:
      josecelano:
        ACK 0157d96
    
    Tree-SHA512: e58a6150975a8c4ca340ca9624ffa7ec0b9f3262ddae92bad5a30a2e70fe0e956d19e24f51b229f323f8e1704583fa2bdacdd5a454256fd99a8aa605c1768a81
    josecelano committed Jun 5, 2024
    Configuration menu
    Copy the full SHA
    67ff5c4 View commit details
    Browse the repository at this point in the history

Commits on Jun 10, 2024

  1. Configuration menu
    Copy the full SHA
    f5d843b View commit details
    Browse the repository at this point in the history
  2. Merge #886: docs: add benchmarking to torrent repo README

    f5d843b docs: add benchmarking to torrent repo README (Jose Celano)
    
    Pull request description:
    
      Add benchmarking section to torrent repo README-
    
    ACKs for top commit:
      josecelano:
        ACK f5d843b
    
    Tree-SHA512: 70b165a5fca50e26c5b88fd9e7ecafd4be69d41ab9bf47537e271f2aa98221dd3bb8ec0b5ec4b317037d2ea442df0c9ca62e9ae62decde6e717083c080e31cb7
    josecelano committed Jun 10, 2024
    Configuration menu
    Copy the full SHA
    8973b67 View commit details
    Browse the repository at this point in the history
  3. chore(deps): update dependencies

    ```output
    cargo update
        Updating crates.io index
         Locking 23 packages to latest compatible versions
        Updating anstyle-query v1.0.3 -> v1.1.0
        Updating async-io v2.3.2 -> v2.3.3
        Updating async-lock v3.3.0 -> v3.4.0
        Updating borsh v1.5.0 -> v1.5.1
        Updating borsh-derive v1.5.0 -> v1.5.1
        Updating cc v1.0.98 -> v1.0.99
        Updating cfg_aliases v0.1.1 -> v0.2.1
        Updating clap v4.5.4 -> v4.5.6
        Updating clap_builder v4.5.2 -> v4.5.6
        Updating clap_derive v4.5.4 -> v4.5.5
        Updating clap_lex v0.7.0 -> v0.7.1
        Removing event-listener v4.0.3
        Removing event-listener-strategy v0.4.0
        Updating piper v0.2.2 -> v0.2.3
        Updating polling v3.7.0 -> v3.7.1
        Updating proc-macro2 v1.0.84 -> v1.0.85
        Updating regex v1.10.4 -> v1.10.5
        Updating regex-automata v0.4.6 -> v0.4.7
        Updating regex-syntax v0.8.3 -> v0.8.4
        Updating rstest v0.20.0 -> v0.21.0
        Updating rstest_macros v0.20.0 -> v0.21.0
        Updating toml v0.8.13 -> v0.8.14
        Updating toml_edit v0.22.13 -> v0.22.14
        Updating utf8parse v0.2.1 -> v0.2.2
        Updating winnow v0.6.9 -> v0.6.13
    ```
    josecelano committed Jun 10, 2024
    Configuration menu
    Copy the full SHA
    6e87d3e View commit details
    Browse the repository at this point in the history
  4. Merge #887: Update dependencies

    6e87d3e chore(deps): update dependencies (Jose Celano)
    
    Pull request description:
    
      ```output
      cargo update
          Updating crates.io index
           Locking 23 packages to latest compatible versions
          Updating anstyle-query v1.0.3 -> v1.1.0
          Updating async-io v2.3.2 -> v2.3.3
          Updating async-lock v3.3.0 -> v3.4.0
          Updating borsh v1.5.0 -> v1.5.1
          Updating borsh-derive v1.5.0 -> v1.5.1
          Updating cc v1.0.98 -> v1.0.99
          Updating cfg_aliases v0.1.1 -> v0.2.1
          Updating clap v4.5.4 -> v4.5.6
          Updating clap_builder v4.5.2 -> v4.5.6
          Updating clap_derive v4.5.4 -> v4.5.5
          Updating clap_lex v0.7.0 -> v0.7.1
          Removing event-listener v4.0.3
          Removing event-listener-strategy v0.4.0
          Updating piper v0.2.2 -> v0.2.3
          Updating polling v3.7.0 -> v3.7.1
          Updating proc-macro2 v1.0.84 -> v1.0.85
          Updating regex v1.10.4 -> v1.10.5
          Updating regex-automata v0.4.6 -> v0.4.7
          Updating regex-syntax v0.8.3 -> v0.8.4
          Updating rstest v0.20.0 -> v0.21.0
          Updating rstest_macros v0.20.0 -> v0.21.0
          Updating toml v0.8.13 -> v0.8.14
          Updating toml_edit v0.22.13 -> v0.22.14
          Updating utf8parse v0.2.1 -> v0.2.2
          Updating winnow v0.6.9 -> v0.6.13
      ```
    
    ACKs for top commit:
      josecelano:
        ACK 6e87d3e
    
    Tree-SHA512: f93190f1dfab7d0013bf4e77b8224337c291c465a7d6325e02a957de08a594af44d9496efae580ef7c22aed7de7e293a5f557aeda95e1fa2f5e9d48dba80110f
    josecelano committed Jun 10, 2024
    Configuration menu
    Copy the full SHA
    613a1df View commit details
    Browse the repository at this point in the history
  5. chore(deps): add cargo dependency tracing

    We will move from `log` to `tracing` crate.
    josecelano committed Jun 10, 2024
    Configuration menu
    Copy the full SHA
    3ccc0e4 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    6e06b2e View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    69f100a View commit details
    Browse the repository at this point in the history
  8. chore(deps): [#884] remove unused crate log

    We have moved to tracing crate.
    josecelano committed Jun 10, 2024
    Configuration menu
    Copy the full SHA
    7de2595 View commit details
    Browse the repository at this point in the history
  9. test: [#884] add test for parsing array of services from app logs

    The tracker can run multiple UDP or HTTP trackers. We parse the services
    from app output but there was not test for multiple services of the same
    type (UDP or HTTP tracker).
    josecelano committed Jun 10, 2024
    Configuration menu
    Copy the full SHA
    d6fd11a View commit details
    Browse the repository at this point in the history
  10. chore(deps): remove unused dependencies log and fern

    We have moved from crate log to tracing.
    josecelano committed Jun 10, 2024
    Configuration menu
    Copy the full SHA
    ec88dbf View commit details
    Browse the repository at this point in the history
  11. Merge #888: Move from log to tracing crate

    ec88dbf chore(deps): remove unused dependencies log and fern (Jose Celano)
    d6fd11a test: [#884] add test for parsing array of services from app logs (Jose Celano)
    7de2595 chore(deps): [#884] remove unused crate log (Jose Celano)
    69f100a refactor: [#884] move from log to tracing crate (Jose Celano)
    6e06b2e refactor: [#884] move from log to tracing crate (Jose Celano)
    3ccc0e4 chore(deps): add cargo dependency tracing (Jose Celano)
    
    Pull request description:
    
      Move from `log` to `tracing` crate.
    
    ACKs for top commit:
      josecelano:
        ACK ec88dbf
    
    Tree-SHA512: ce468cc920555f821067d24d7a4ca23313f521ad01faaf8e34c1d581bdf43c9a83a9ef3119ab5adf1d4d265befcfe1100cee7ce1e52d67ddabbf342b7b52713a
    josecelano committed Jun 10, 2024
    Configuration menu
    Copy the full SHA
    dc171c1 View commit details
    Browse the repository at this point in the history
  12. refactor: [#659] use clap and anyhow in E2E test runner

    You can execute the E2E runner with:
    
    ```bash
    cargo run --bin e2e_tests_runner -- --config-toml-path "./share/default/config/tracker.e2e.container.sqlite3.toml"
    ```
    
    Or:
    
    ```bash
    TORRUST_TRACKER_CONFIG_TOML_PATH="./share/default/config/tracker.e2e.container.sqlite3.toml" cargo run --bin e2e_tests_runner
    ```
    
    Or:
    
    ```bash
    TORRUST_TRACKER_CONFIG_TOML=$(cat "./share/default/config/tracker.e2e.container.sqlite3.toml") cargo run --bin e2e_tests_runner
    ```
    josecelano committed Jun 10, 2024
    Configuration menu
    Copy the full SHA
    c08de75 View commit details
    Browse the repository at this point in the history
  13. Merge #890: Use clap and anyhowcrates in E2E test runner

    c08de75 refactor: [#659] use clap and anyhow in E2E test runner (Jose Celano)
    
    Pull request description:
    
      You can execute the E2E runner with:
    
      ```bash
      cargo run --bin e2e_tests_runner -- --config-toml-path "./share/default/config/tracker.e2e.container.sqlite3.toml"
      ```
    
      Or:
    
      ```bash
      TORRUST_TRACKER_CONFIG_TOML_PATH="./share/default/config/tracker.e2e.container.sqlite3.toml" cargo run --bin e2e_tests_runner
      ```
    
      Or:
    
      ```bash
      TORRUST_TRACKER_CONFIG_TOML=$(cat "./share/default/config/tracker.e2e.container.sqlite3.toml") cargo run --bin e2e_tests_runner
      ```
    
    ACKs for top commit:
      josecelano:
        ACK c08de75
    
    Tree-SHA512: a9bf6d5073de14fe664650434cfa8c2cbdd6c413ef1656c34f7c90b20ba60fcbfaeb25d42dd49f8652301ce1b732f938345d0dd666894c397cd68992a05a8e60
    josecelano committed Jun 10, 2024
    Configuration menu
    Copy the full SHA
    e50934e View commit details
    Browse the repository at this point in the history

Commits on Jun 12, 2024

  1. docs: [#770] update benchmarking docs

    We are now using criterion to benchmark the torrent repository
    implementations.
    josecelano committed Jun 12, 2024
    Configuration menu
    Copy the full SHA
    f8a9976 View commit details
    Browse the repository at this point in the history
  2. Merge #894: Update benchmarking docs

    f8a9976 docs: [#770] update benchmarking docs (Jose Celano)
    
    Pull request description:
    
      We are now using criterion to benchmark the torrent repository implementations.
    
    ACKs for top commit:
      josecelano:
        ACK f8a9976
    
    Tree-SHA512: 1ac09a5d4d6853a519762e16cf9d43fe7a32ffd1db8109c463d557cb6a411509e9288b1fdbffca82faf14be1ed771afe5c2887c47bbf8aa79c320f3ed1be3527
    josecelano committed Jun 12, 2024
    Configuration menu
    Copy the full SHA
    a7ec479 View commit details
    Browse the repository at this point in the history

Commits on Jun 14, 2024

  1. chore(deps): update dependencies

    ```s
    cargo update
        Updating crates.io index
         Locking 35 packages to latest compatible versions
        Updating backtrace v0.3.72 -> v0.3.73
        Updating clap v4.5.6 -> v4.5.7
        Updating clap_builder v4.5.6 -> v4.5.7
          Adding displaydoc v0.2.4
        Updating http-body-util v0.1.1 -> v0.1.2
        Updating httparse v1.8.0 -> v1.9.3
          Adding icu_collections v1.5.0
          Adding icu_locid v1.5.0
          Adding icu_locid_transform v1.5.0
          Adding icu_locid_transform_data v1.5.0
          Adding icu_normalizer v1.5.0
          Adding icu_normalizer_data v1.5.0
          Adding icu_properties v1.5.0
          Adding icu_properties_data v1.5.0
          Adding icu_provider v1.5.0
          Adding icu_provider_macros v1.5.0
        Updating idna v0.5.0 -> v1.0.0
          Adding litemap v0.7.3
        Updating memchr v2.7.2 -> v2.7.4
        Updating object v0.35.0 -> v0.36.0
        Updating redox_syscall v0.5.1 -> v0.5.2
          Adding stable_deref_trait v1.2.0
          Adding synstructure v0.13.1
          Adding tinystr v0.7.6
        Removing unicode-bidi v0.3.15
        Removing unicode-normalization v0.1.23
        Updating url v2.5.0 -> v2.5.1
          Adding utf16_iter v1.0.5
          Adding utf8_iter v1.0.4
          Adding write16 v1.0.0
          Adding writeable v0.5.5
          Adding yoke v0.7.4
          Adding yoke-derive v0.7.4
          Adding zerofrom v0.1.4
          Adding zerofrom-derive v0.1.4
          Adding zerovec v0.10.2
          Adding zerovec-derive v0.10.2
    ```
    josecelano committed Jun 14, 2024
    Configuration menu
    Copy the full SHA
    322b976 View commit details
    Browse the repository at this point in the history
  2. Merge #895: Update dependencies

    322b976 chore(deps): update dependencies (Jose Celano)
    
    Pull request description:
    
      Update dependencies.
    
      ```s
      cargo update
          Updating crates.io index
           Locking 35 packages to latest compatible versions
          Updating backtrace v0.3.72 -> v0.3.73
          Updating clap v4.5.6 -> v4.5.7
          Updating clap_builder v4.5.6 -> v4.5.7
            Adding displaydoc v0.2.4
          Updating http-body-util v0.1.1 -> v0.1.2
          Updating httparse v1.8.0 -> v1.9.3
            Adding icu_collections v1.5.0
            Adding icu_locid v1.5.0
            Adding icu_locid_transform v1.5.0
            Adding icu_locid_transform_data v1.5.0
            Adding icu_normalizer v1.5.0
            Adding icu_normalizer_data v1.5.0
            Adding icu_properties v1.5.0
            Adding icu_properties_data v1.5.0
            Adding icu_provider v1.5.0
            Adding icu_provider_macros v1.5.0
          Updating idna v0.5.0 -> v1.0.0
            Adding litemap v0.7.3
          Updating memchr v2.7.2 -> v2.7.4
          Updating object v0.35.0 -> v0.36.0
          Updating redox_syscall v0.5.1 -> v0.5.2
            Adding stable_deref_trait v1.2.0
            Adding synstructure v0.13.1
            Adding tinystr v0.7.6
          Removing unicode-bidi v0.3.15
          Removing unicode-normalization v0.1.23
          Updating url v2.5.0 -> v2.5.1
            Adding utf16_iter v1.0.5
            Adding utf8_iter v1.0.4
            Adding write16 v1.0.0
            Adding writeable v0.5.5
            Adding yoke v0.7.4
            Adding yoke-derive v0.7.4
            Adding zerofrom v0.1.4
            Adding zerofrom-derive v0.1.4
            Adding zerovec v0.10.2
            Adding zerovec-derive v0.10.2
      ```
    
    ACKs for top commit:
      josecelano:
        ACK 322b976
    
    Tree-SHA512: 6ffa52b09be5cbbf06be88d3904b4d7f817898fee5227a6c71ab1200c6bea5fe13f99358a4e12f29b8a979ff582113dd4a085421b01c3fb0f0502113025d96cc
    josecelano committed Jun 14, 2024
    Configuration menu
    Copy the full SHA
    4832235 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a88082a View commit details
    Browse the repository at this point in the history
  4. chore(deps): add cargo dependency regex

    To parse cargo logs.
    josecelano committed Jun 14, 2024
    Configuration menu
    Copy the full SHA
    a293373 View commit details
    Browse the repository at this point in the history
  5. fix: [#893] enable color for logs

    It was disabled becuase parsing lgos to extract the services URLs was
    not working due to hidden color chars.
    
    This changes the parser to ignore color chars.
    josecelano committed Jun 14, 2024
    Configuration menu
    Copy the full SHA
    eb928bc View commit details
    Browse the repository at this point in the history
  6. Merge #896: Enable colour in console output

    eb928bc fix: [#893] enable color for logs (Jose Celano)
    a293373 chore(deps): add cargo dependency regex (Jose Celano)
    a88082a fix: [#893] enable color in logs (Jose Celano)
    
    Pull request description:
    
      Enable colour in console output.
    
      We were using the `logging` crate for logging. [We move to `tracing`](#884) but keeping the same format for logs. The only difference was the colour introduced by the `tracing` crate. This is just a patch to make allow using color with tracing. We parse the logs to extract the running services for example from these lines:
    
      ```
      2024-06-10T16:07:39.989540Z  INFO torrust_tracker::bootstrap::logging: logging initialized.
      2024-06-10T16:07:39.990205Z  INFO UDP TRACKER: Starting on: udp://0.0.0.0:6868
      2024-06-10T16:07:39.990215Z  INFO UDP TRACKER: Started on: udp://0.0.0.0:6868
      2024-06-10T16:07:39.990244Z  INFO UDP TRACKER: Starting on: udp://0.0.0.0:6969
      2024-06-10T16:07:39.990255Z  INFO UDP TRACKER: Started on: udp://0.0.0.0:6969
      2024-06-10T16:07:39.990261Z  INFO torrust_tracker::bootstrap::jobs: TLS not enabled
      2024-06-10T16:07:39.990303Z  INFO HTTP TRACKER: Starting on: http://0.0.0.0:7070
      2024-06-10T16:07:39.990439Z  INFO HTTP TRACKER: Started on: http://0.0.0.0:7070
      2024-06-10T16:07:39.990448Z  INFO torrust_tracker::bootstrap::jobs: TLS not enabled
      2024-06-10T16:07:39.990563Z  INFO API: Starting on http://127.0.0.1:1212
      2024-06-10T16:07:39.990565Z  INFO API: Started on http://127.0.0.1:1212
      2024-06-10T16:07:39.990577Z  INFO HEALTH CHECK API: Starting on: http://127.0.0.1:1313
      2024-06-10T16:07:39.990638Z  INFO HEALTH CHECK API: Started on: http://127.0.0.1:1313
      ```
    
      We extract these running services:
    
      ```json
      {
        "udp_trackers": [
          "127.0.0.1:6969"
        ],
        "http_trackers": [
          "http://127.0.0.1:7070"
        ],
        "health_checks": [
          "http://127.0.0.1:1313/health_check"
        ]
      }
      ```
    
      We should refactor the output format to take advantage of the new `tracing` crate. [`tracing` supports structured fields on spans and events](https://docs.rs/tracing/latest/tracing/#recording-fields), so it would be easier to parse those services.
    
    ACKs for top commit:
      josecelano:
        ACK eb928bc
    
    Tree-SHA512: 890b80df3688f8aedf6587a59cacc638df5f40c025ad0d361096362578844893b29a8d8963ccf28ab100d8296ea280fd0fcd876ef317c1363c6daaad4549954e
    josecelano committed Jun 14, 2024
    Configuration menu
    Copy the full SHA
    a6054f1 View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2024

  1. fix: [#898] docker build error: failed to load bitcode of module crit…

    …erion
    
    Command:
    
    ```
    docker build --target release --tag torrust-tracker:release --file Containerfile .
    ```
    
    Error:
    
    ```s
     => ERROR [build 3/3] RUN cargo nextest archive --tests --benches --examples --workspace --all-targets --all-features --archive-  56.8s
    ------
     > [build 3/3] RUN cargo nextest archive --tests --benches --examples --workspace --all-targets --all-features --archive-file /build/torrust-tracker.tar.zst --release:
    0.674    Compiling torrust-tracker-located-error v3.0.0-alpha.12-develop (/build/src/packages/located-error)
    0.675    Compiling torrust-tracker-primitives v3.0.0-alpha.12-develop (/build/src/packages/primitives)
    0.679    Compiling torrust-tracker-contrib-bencode v3.0.0-alpha.12-develop (/build/src/contrib/bencode)
    0.763    Compiling torrust-tracker-configuration v3.0.0-alpha.12-develop (/build/src/packages/configuration)
    0.763    Compiling torrust-tracker-clock v3.0.0-alpha.12-develop (/build/src/packages/clock)
    0.936    Compiling torrust-tracker-torrent-repository v3.0.0-alpha.12-develop (/build/src/packages/torrent-repository)
    0.936    Compiling torrust-tracker-test-helpers v3.0.0-alpha.12-develop (/build/src/packages/test-helpers)
    1.181    Compiling torrust-tracker v3.0.0-alpha.12-develop (/build/src)
    1.891 warning: Invalid value (Producer: 'LLVM18.1.7-rust-1.79.0-stable' Reader: 'LLVM 18.1.7-rust-1.79.0-stable')
    1.891
    1.891 error: failed to load bitcode of module "criterion-af9a3f7183f1573d.criterion.b69900c842eb33fa-cgu.08.rcgu.o":
    1.891
    1.991 warning: `torrust-tracker-contrib-bencode` (bench "bencode_benchmark") generated 1 warning
    1.991 error: could not compile `torrust-tracker-contrib-bencode` (bench "bencode_benchmark") due to 1 previous error; 1 warning emitted
    1.991 warning: build failed, waiting for other jobs to finish...
    3.936 warning: `torrust-tracker-torrent-repository` (bench "repository_benchmark") generated 1 warning (1 duplicate)
    3.936 error: could not compile `torrust-tracker-torrent-repository` (bench "repository_benchmark") due to 1 previous error; 1 warning emitted
    56.80 error: command `/usr/local/rustup/toolchains/1.79.0-x86_64-unknown-linux-gnu/bin/cargo test --no-run --message-format json-render-diagnostics --workspace --examples --tests --benches --all-targets --all-features --release` exited with code 101
    ------
    Containerfile:61
    --------------------
      59 |     WORKDIR /build/src
      60 |     COPY . /build/src
      61 | >>> RUN cargo nextest archive --tests --benches --examples --workspace --all-targets --all-features --archive-file /build/torrust-tracker.tar.zst --release
      62 |
      63 |
    --------------------
    ERROR: failed to solve: process "/bin/sh -c cargo nextest archive --tests --benches --examples --workspace --all-targets --all-features --archive-file /build/torrust-tracker.tar.zst --release" did not complete successfully: exit code: 101
    ```
    
    - Docker: version 25.0.2, build 29cf629
    - Rust: nightly-x86_64-unknown-linux-gnu (default). rustc 1.81.0-nightly (d7f6ebace 2024-06-16)
    josecelano committed Jun 17, 2024
    Configuration menu
    Copy the full SHA
    3c715fb View commit details
    Browse the repository at this point in the history
  2. Merge #899: Fixes docker build error: `failed to load bitcode of modu…

    …le criterion ...`
    
    3c715fb fix: [#898] docker build error: failed to load bitcode of module criterion (Jose Celano)
    
    Pull request description:
    
      Fixes docker build error: `failed to load bitcode of module criterion ...`
    
      Command:
    
      ```
      docker build --target release --tag torrust-tracker:release --file Containerfile .
      ```
    
      Error:
    
      ```s
       => ERROR [build 3/3] RUN cargo nextest archive --tests --benches --examples --workspace --all-targets --all-features --archive-  56.8s
      ------
       > [build 3/3] RUN cargo nextest archive --tests --benches --examples --workspace --all-targets --all-features --archive-file /build/torrust-tracker.tar.zst --release:
      0.674    Compiling torrust-tracker-located-error v3.0.0-alpha.12-develop (/build/src/packages/located-error)
      0.675    Compiling torrust-tracker-primitives v3.0.0-alpha.12-develop (/build/src/packages/primitives)
      0.679    Compiling torrust-tracker-contrib-bencode v3.0.0-alpha.12-develop (/build/src/contrib/bencode)
      0.763    Compiling torrust-tracker-configuration v3.0.0-alpha.12-develop (/build/src/packages/configuration)
      0.763    Compiling torrust-tracker-clock v3.0.0-alpha.12-develop (/build/src/packages/clock)
      0.936    Compiling torrust-tracker-torrent-repository v3.0.0-alpha.12-develop (/build/src/packages/torrent-repository)
      0.936    Compiling torrust-tracker-test-helpers v3.0.0-alpha.12-develop (/build/src/packages/test-helpers)
      1.181    Compiling torrust-tracker v3.0.0-alpha.12-develop (/build/src)
      1.891 warning: Invalid value (Producer: 'LLVM18.1.7-rust-1.79.0-stable' Reader: 'LLVM 18.1.7-rust-1.79.0-stable')
      1.891
      1.891 error: failed to load bitcode of module "criterion-af9a3f7183f1573d.criterion.b69900c842eb33fa-cgu.08.rcgu.o":
      1.891
      1.991 warning: `torrust-tracker-contrib-bencode` (bench "bencode_benchmark") generated 1 warning
      1.991 error: could not compile `torrust-tracker-contrib-bencode` (bench "bencode_benchmark") due to 1 previous error; 1 warning emitted
      1.991 warning: build failed, waiting for other jobs to finish...
      3.936 warning: `torrust-tracker-torrent-repository` (bench "repository_benchmark") generated 1 warning (1 duplicate)
      3.936 error: could not compile `torrust-tracker-torrent-repository` (bench "repository_benchmark") due to 1 previous error; 1 warning emitted
      56.80 error: command `/usr/local/rustup/toolchains/1.79.0-x86_64-unknown-linux-gnu/bin/cargo test --no-run --message-format json-render-diagnostics --workspace --examples --tests --benches --all-targets --all-features --release` exited with code 101
      ------
      Containerfile:61
      --------------------
        59 |     WORKDIR /build/src
        60 |     COPY . /build/src
        61 | >>> RUN cargo nextest archive --tests --benches --examples --workspace --all-targets --all-features --archive-file /build/torrust-tracker.tar.zst --release
        62 |
        63 |
      --------------------
      ERROR: failed to solve: process "/bin/sh -c cargo nextest archive --tests --benches --examples --workspace --all-targets --all-features --archive-file /build/torrust-tracker.tar.zst --release" did not complete successfully: exit code: 101
      ```
    
      - Docker: version 25.0.2, build 29cf629
      - Rust: nightly-x86_64-unknown-linux-gnu (default). rustc 1.81.0-nightly (d7f6ebace 2024-06-16)
    
    ACKs for top commit:
      josecelano:
        ACK 3c715fb
    
    Tree-SHA512: cf5a39745295b2e4baaa44dd4de83da3a39f505c27ff7f0ecf183ea3e01231a4826b253493afe6afdf1669e970e39cbc1f596ba49c0c14f3e9399344096c6054
    josecelano committed Jun 17, 2024
    Configuration menu
    Copy the full SHA
    aa8b787 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ef9461a View commit details
    Browse the repository at this point in the history
  4. feat!: [#878] make log_level config value mandatory

    Althought, it has a default value `info` so you can omit it in the TOML
    config file.
    josecelano committed Jun 17, 2024
    Configuration menu
    Copy the full SHA
    77dd938 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    2f94f6c View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    edc706c View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    fc046e0 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    7b2f757 View commit details
    Browse the repository at this point in the history
  9. feat: [#878] extract tsl_config in toml config

    TSL configuration for HTTP trackers and the Tracker API is still
    optional. However, when it's provided is enabled. The `ssl_enabled`
    field was removed. You can remove the whole `tsl_config` to disable TSL.
    
    If you want to kee a copy in the TOML file you can just comment the
    lines.
    
    ```toml
    [[http_trackers]]
    ...
    
    [http_trackers.tsl_config]
    ssl_cert_path = "./storage/tracker/lib/tls/localhost.crt"
    ssl_key_path = "./storage/tracker/lib/tls/localhost.key"
    
    [http_api]
    ...
    
    [http_api.tsl_config]
    ssl_cert_path = "./storage/tracker/lib/tls/localhost.crt"
    ssl_key_path = "./storage/tracker/lib/tls/localhost.key"
    ```
    josecelano committed Jun 17, 2024
    Configuration menu
    Copy the full SHA
    c5cc9fd View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2024

  1. feat: remove ambiguous log entry

    It remvoes this line:
    
    ```
    2024-06-17T18:52:49.196708Z  INFO torrust_tracker::bootstrap::jobs: TLS not enabled
    ```
    
    becuase it doesn't specifu which service the TSl is not enabled for.
    
    On the other hand, the output already indicates whether the service is
    runnig on HTTP or HTTPs:
    
    ```
    2024-06-18T07:37:58.595692Z  INFO HTTP TRACKER: Started on: http://0.0.0.0:7070
    ```
    josecelano committed Jun 18, 2024
    Configuration menu
    Copy the full SHA
    50bef25 View commit details
    Browse the repository at this point in the history
  2. feat!: [#878] remove enabled fields in config

    By default all services are disabled. If the service section is missing
    in the TOML config file it means the service is disabled.
    
    From:
    
    ```toml
    [[udp_trackers]]
    enabled = false
    bind_address = "0.0.0.0:6969"
    ```
    
    To:
    
    ```toml
    ```
    
    The `http_api` section has been disabled by default becuase there is no
    way to override it to disable it, if it's enabled by default. You nned
    to explicitly enabled the API now.
    josecelano committed Jun 18, 2024
    Configuration menu
    Copy the full SHA
    06ad5da View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2024

  1. Merge #897: Configuration overhaul: version 2 for the configuration t…

    …oml file (breaking changes)
    
    06ad5da feat!: [#878] remove enabled fields in config (Jose Celano)
    50bef25 feat: remove ambiguous log entry (Jose Celano)
    c5cc9fd feat: [#878] extract tsl_config in toml config (Jose Celano)
    7b2f757 feat!: [#878] extract tracker_policy section in core config section (Jose Celano)
    fc046e0 feat!: [#878] extract announce_policy section in core config section (Jose Celano)
    edc706c feat!: [#878] extract net section in core config section (Jose Celano)
    2f94f6c feat!: [#878] extract database section in core config section (Jose Celano)
    77dd938 feat!: [#878] make log_level config value mandatory (Jose Celano)
    ef9461a feat!: [#878] extract logging and core section in toml config files (Jose Celano)
    
    Pull request description:
    
      Configuration overhaul: version 2 for the configuration TOML file (breaking changes).
    
      See the [issue](#878) for a full description of changes.
    
      ### Subtasks
    
      - [x] make `log_level` mandatory with default `info` value.
      - [x] extract `logging` and `core` sections.
      - [x] extract `database` subsection in `core` section.
      - [x] extract `net` subsection in `core` section.
      - [x] extract `announce_policy` subsection in `core` section.
      - [x] extract `tracker_policy` subsection in `core` section.
      - [x] extract `tsl_config` subsection for `http_trackers` and `http_api`.
      - [x] remove `enabled` field from services. If the configuration is present, the service is enabled.
    
    ACKs for top commit:
      josecelano:
        ACK 06ad5da
    
    Tree-SHA512: 406a848a6a8dc70d6aef19702823db8304bdddd869b045ac303520962f04918b06de4d8247e409f65869a2aafcef79217b64e4c05c305073e3403e0a824f2f7f
    josecelano committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    729739c View commit details
    Browse the repository at this point in the history
  2. chore(deps): update dependencies

    ```console
    cargo update
        Updating crates.io index
         Locking 18 packages to latest compatible versions
        Updating bytemuck v1.16.0 -> v1.16.1
        Updating derive_more v0.99.17 -> v0.99.18
        Removing displaydoc v0.2.4
          Adding hermit-abi v0.4.0
        Updating httparse v1.9.3 -> v1.9.4
          Adding hyper-rustls v0.27.2
        Removing icu_collections v1.5.0
        Removing icu_locid v1.5.0
        Removing icu_locid_transform v1.5.0
        Removing icu_locid_transform_data v1.5.0
        Removing icu_normalizer v1.5.0
        Removing icu_normalizer_data v1.5.0
        Removing icu_properties v1.5.0
        Removing icu_properties_data v1.5.0
        Removing icu_provider v1.5.0
        Removing icu_provider_macros v1.5.0
     Downgrading idna v1.0.0 -> v0.5.0 (latest: v1.0.1)
        Removing litemap v0.7.3
        Updating miniz_oxide v0.7.3 -> v0.7.4
        Updating polling v3.7.1 -> v3.7.2
        Updating reqwest v0.12.4 -> v0.12.5
          Adding rustls v0.23.10
          Adding rustls-webpki v0.102.4
        Removing stable_deref_trait v1.2.0
          Adding subtle v2.5.0
        Removing synstructure v0.13.1
        Removing tinystr v0.7.6
          Adding tokio-rustls v0.26.0
          Adding unicode-bidi v0.3.15
          Adding unicode-normalization v0.1.23
        Updating url v2.5.1 -> v2.5.2
        Removing utf16_iter v1.0.5
        Removing utf8_iter v1.0.4
        Removing write16 v1.0.0
        Removing writeable v0.5.5
        Removing yoke v0.7.4
        Removing yoke-derive v0.7.4
        Removing zerofrom v0.1.4
        Removing zerofrom-derive v0.1.4
          Adding zeroize v1.8.1
        Removing zerovec v0.10.2
        Removing zerovec-derive v0.10.2
        Updating zstd-sys v2.0.10+zstd.1.5.6 -> v2.0.11+zstd.1.5.6
    ```
    josecelano committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    0bcca80 View commit details
    Browse the repository at this point in the history
  3. Merge #906: Update dependencies

    0bcca80 chore(deps): update dependencies (Jose Celano)
    
    Pull request description:
    
      Update dependencies:
    
      ```console
      cargo update
          Updating crates.io index
           Locking 18 packages to latest compatible versions
          Updating bytemuck v1.16.0 -> v1.16.1
          Updating derive_more v0.99.17 -> v0.99.18
          Removing displaydoc v0.2.4
            Adding hermit-abi v0.4.0
          Updating httparse v1.9.3 -> v1.9.4
            Adding hyper-rustls v0.27.2
          Removing icu_collections v1.5.0
          Removing icu_locid v1.5.0
          Removing icu_locid_transform v1.5.0
          Removing icu_locid_transform_data v1.5.0
          Removing icu_normalizer v1.5.0
          Removing icu_normalizer_data v1.5.0
          Removing icu_properties v1.5.0
          Removing icu_properties_data v1.5.0
          Removing icu_provider v1.5.0
          Removing icu_provider_macros v1.5.0
       Downgrading idna v1.0.0 -> v0.5.0 (latest: v1.0.1)
          Removing litemap v0.7.3
          Updating miniz_oxide v0.7.3 -> v0.7.4
          Updating polling v3.7.1 -> v3.7.2
          Updating reqwest v0.12.4 -> v0.12.5
            Adding rustls v0.23.10
            Adding rustls-webpki v0.102.4
          Removing stable_deref_trait v1.2.0
            Adding subtle v2.5.0
          Removing synstructure v0.13.1
          Removing tinystr v0.7.6
            Adding tokio-rustls v0.26.0
            Adding unicode-bidi v0.3.15
            Adding unicode-normalization v0.1.23
          Updating url v2.5.1 -> v2.5.2
          Removing utf16_iter v1.0.5
          Removing utf8_iter v1.0.4
          Removing write16 v1.0.0
          Removing writeable v0.5.5
          Removing yoke v0.7.4
          Removing yoke-derive v0.7.4
          Removing zerofrom v0.1.4
          Removing zerofrom-derive v0.1.4
            Adding zeroize v1.8.1
          Removing zerovec v0.10.2
          Removing zerovec-derive v0.10.2
          Updating zstd-sys v2.0.10+zstd.1.5.6 -> v2.0.11+zstd.1.5.6
      ```
    
    ACKs for top commit:
      josecelano:
        ACK 0bcca80
    
    Tree-SHA512: e28c4f7e647648a5b3812cda08190360102c2e30f6e93240a11a109c134b61a70b56945b86454016e8a72160c28a00f574f1210b649343e01d5bcc391c4eaf5e
    josecelano committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    27933b9 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    84cc1a1 View commit details
    Browse the repository at this point in the history

Commits on Jun 25, 2024

  1. Merge #873: Implment Request Stream for UDP Tracker

    84cc1a1 dev: use stream for udp requests (Cameron Garnham)
    
    Pull request description:
    
      This pull request improves the UDP tracker `server.rs` request processing logic; now using a `tokio::stream` for getting the requests for the ring buffer.
    
      I hope this pull request will improve the performance of the tracker in multi-core setups.
    
      @josecelano This code will require a special code-review.
    
    ACKs for top commit:
      josecelano:
        ACK 84cc1a1
    
    Tree-SHA512: 84d33426583c12b0f39bd0c3a6c48f9a510fdfbbf36da000307e809bce4f7870a53b840eda326492d29f21b83611cdc610b03ec30aa675179635ac6ea19ddd34
    josecelano committed Jun 25, 2024
    Configuration menu
    Copy the full SHA
    b7bcd96 View commit details
    Browse the repository at this point in the history
  2. fix: log message

    josecelano committed Jun 25, 2024
    Configuration menu
    Copy the full SHA
    9b3b75b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0e3678d View commit details
    Browse the repository at this point in the history
  4. refactor: rename var

    josecelano committed Jun 25, 2024
    Configuration menu
    Copy the full SHA
    7ff0cd2 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    16ae4fd View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    0388e1d View commit details
    Browse the repository at this point in the history
  7. refactor: extract const for logging targets

    And make it explicit the coupling between logs and `RunningServices`
    type.
    josecelano committed Jun 25, 2024
    Configuration menu
    Copy the full SHA
    b4b4515 View commit details
    Browse the repository at this point in the history
  8. refactor: extract method

    josecelano committed Jun 25, 2024
    Configuration menu
    Copy the full SHA
    a5e2baf View commit details
    Browse the repository at this point in the history
  9. refactor: simplify UDP server receiver

    It only gets new UDP requests, whitout spwaning tasks to handle them.
    josecelano committed Jun 25, 2024
    Configuration menu
    Copy the full SHA
    35b6c84 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    61fb4b2 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    336e0e6 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    c121bf2 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    89bb735 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    f06976e View commit details
    Browse the repository at this point in the history
  15. Merge #913: Minor UDP server refactorings

    f06976e docs: update some UDP server comments (Jose Celano)
    89bb735 refactor: reorganize UDP server mod (Jose Celano)
    c121bf2 refactor: rename UDP server types (Jose Celano)
    336e0e6 refactor: reorganize mod to extract new submods (Jose Celano)
    61fb4b2 refactor: move active requests logic to ActiveRequest type (Jose Celano)
    35b6c84 refactor: simplify UDP server receiver (Jose Celano)
    a5e2baf refactor: extract method (Jose Celano)
    b4b4515 refactor: extract const for logging targets (Jose Celano)
    0388e1d refactor: extract consts for logging targets (Jose Celano)
    16ae4fd refactor: rename vars and extract constructor (Jose Celano)
    7ff0cd2 refactor: rename var (Jose Celano)
    0e3678d refactor: rename Socket to BoundSocket and fix format errors" (Jose Celano)
    9b3b75b fix: log message (Jose Celano)
    
    Pull request description:
    
      This PR only includes some minor changes I've proposed in this [PR](#873), and some refactorings.
    
    ACKs for top commit:
      josecelano:
        ACK f06976e
    
    Tree-SHA512: a7a4ea14077c2ce6df0b80b222952d0c6c6588f1df50f78d01198ea0ab12ce3ca74923caed6601994e955880e2afe3d9432f87ae74f383362fae452e367ad359
    josecelano committed Jun 25, 2024
    Configuration menu
    Copy the full SHA
    eb9f997 View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2024

  1. Configuration menu
    Copy the full SHA
    2518c54 View commit details
    Browse the repository at this point in the history
  2. Merge #919: Fix: clients output in JSON should not include logging

    2518c54 fix: [#917] clients output in JSON should not include logging (Jose Celano)
    
    Pull request description:
    
      The console clients' output should not include logging info when the output is JSON. IT fixes this behavior:
    
      Command:
    
      ```s
      $ cargo run --bin udp_tracker_client announce 144.126.245.19:6969 9c38422213e30bff212b30c360d26f9a02136422
          Finished `dev` profile [optimized + debuginfo] target(s) in 0.09s
           Running `target/debug/udp_tracker_client announce '144.126.245.19:6969' 9c38422213e30bff212b30c360d26f9a02136422`
    
      Output:
    
      ```s
      2024-06-26T07:46:10.051490Z  INFO torrust_tracker::console::clients::udp::app: logging initialized.
      {
        "AnnounceIpv4": {
          "transaction_id": -888840697,
          "announce_interval": 300,
          "leechers": 0,
          "seeders": 1,
          "peers": []
        }
      }
      ```
    
      The line `2024-06-26T07:46:10.051490Z  INFO torrust_tracker::console::clients::udp::app: logging initialized.` or any other lines should not be included. I will open a discussion about how to deal with logging in console clients.
    
    ACKs for top commit:
      josecelano:
        ACK 2518c54
    
    Tree-SHA512: 9882e3b1701ce13549c8dd6c7a5a515bbdd8e3206eb560424c2e205962d2c50314d03f2ae19eed303aea1277d49b9a669a5d9f24701ac7631608850a0290667f
    josecelano committed Jun 26, 2024
    Configuration menu
    Copy the full SHA
    bb8b2ad View commit details
    Browse the repository at this point in the history

Commits on Jun 29, 2024

  1. ci: nightly build for coverage

    da2ce7 committed Jun 29, 2024
    Configuration menu
    Copy the full SHA
    3d567c8 View commit details
    Browse the repository at this point in the history
  2. Merge #924: ci: nightly build for coverage

    3d567c8 ci: nightly build for coverage (Cameron Garnham)
    
    Pull request description:
    
    ACKs for top commit:
      da2ce7:
        ACK 3d567c8
    
    Tree-SHA512: 19843c2812ae606f25b076a6ba5fe53df1025e913f11d238a75b3526e4288edcac20a6921e25cb29817b71547851baeab9b9de95206aeee81159b07b2aba9f2d
    da2ce7 committed Jun 29, 2024
    Configuration menu
    Copy the full SHA
    3f61d04 View commit details
    Browse the repository at this point in the history
  3. ci: pre-build coverage test

    da2ce7 committed Jun 29, 2024
    Configuration menu
    Copy the full SHA
    f0de8dd View commit details
    Browse the repository at this point in the history

Commits on Jun 30, 2024

  1. Merge #926: ci: pre-build coverage test

    f0de8dd ci: pre-build coverage test (Cameron Garnham)
    
    Pull request description:
    
      ... maybe it will work now...
    
    ACKs for top commit:
      da2ce7:
        ACK f0de8dd
    
    Tree-SHA512: b532a27439ad438a1f249a9888314d41d9646f890185dab092b635c90b21f3dd29d37b9f2cb59a78fabd78c2b0483974b7a6c80948fba81cfbcfab5ba8f742bf
    da2ce7 committed Jun 30, 2024
    Configuration menu
    Copy the full SHA
    5077fe3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5f3957a View commit details
    Browse the repository at this point in the history
  3. Merge #927: ci: coverage build with two jobs

    5f3957a ci: coverage build with two jobs (Cameron Garnham)
    
    Pull request description:
    
    ACKs for top commit:
      da2ce7:
        ACK 5f3957a
    
    Tree-SHA512: 4e23a82fa938f12f3490e505f8f1e0294dc2c38c93d4a327c5e51e31786baafeed8d67c249bff843618c624b8bf86f5db078cb119efab00bfc09b66103e8b6dd
    da2ce7 committed Jun 30, 2024
    Configuration menu
    Copy the full SHA
    f85bae8 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    16d4cb6 View commit details
    Browse the repository at this point in the history
  5. Merge #928: ci: coverage workflow add pre-build-test step

    16d4cb6 ci: coverage workflow add pre-build-test step (Cameron Garnham)
    
    Pull request description:
    
    ACKs for top commit:
      da2ce7:
        ACK 16d4cb6
    
    Tree-SHA512: 42b8888c4b9072817da7d5e7465b8af46e1e81afb9bccdd98823de73446054e6742b38bba236cfdcc18225288dabad8e7d3cf08add210bab1bd90155e9ce0058
    da2ce7 committed Jun 30, 2024
    Configuration menu
    Copy the full SHA
    2187e6c View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    988f1c7 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    c202db7 View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2024

  1. Merge #923: Client Work: Improve Error Enums and Some Basic Cleanup

    c202db7 dev: tracker client error enums (Cameron Garnham)
    988f1c7 dev: add vscode 'code-workspace' to git ignore file (Cameron Garnham)
    
    Pull request description:
    
      most work extracted from #765
    
    Top commit has no ACKs.
    
    Tree-SHA512: bfa36bb3849b4694adc812c9ec2f401a14c0f4fabfd201abe88c43cfc215493ebbe7a6847fb075456ad85d48bf5d2b7a91b2af65ef5b05805a5f7fc5758ccc75
    josecelano committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    e339c38 View commit details
    Browse the repository at this point in the history
  2. chore(deps): update dependencies

    ```s
    cargo update
        Updating crates.io index
         Locking 20 packages to latest compatible versions
        Updating bitflags v2.5.0 -> v2.6.0
        Updating cc v1.0.99 -> v1.0.103
        Updating clap v4.5.7 -> v4.5.8
        Updating clap_builder v4.5.7 -> v4.5.8
        Updating clap_derive v4.5.5 -> v4.5.8
        Updating either v1.12.0 -> v1.13.0
        Updating lazy_static v1.4.0 -> v1.5.0
        Updating libloading v0.8.3 -> v0.8.4
        Updating log v0.4.21 -> v0.4.22
        Updating num-bigint v0.4.5 -> v0.4.6
        Updating object v0.36.0 -> v0.36.1
        Updating proc-macro2 v1.0.85 -> v1.0.86
        Updating serde_bytes v0.11.14 -> v0.11.15
        Updating serde_json v1.0.117 -> v1.0.119
        Updating serde_with v3.8.1 -> v3.8.2
        Updating serde_with_macros v3.8.1 -> v3.8.2
        Updating subtle v2.5.0 -> v2.6.1
        Updating syn v2.0.66 -> v2.0.68
        Updating tinyvec v1.6.0 -> v1.6.1
        Updating uuid v1.8.0 -> v1.9.1
    ```
    josecelano committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    77c6954 View commit details
    Browse the repository at this point in the history
  3. Merge #930: Update dependencies

    77c6954 chore(deps): update dependencies (Jose Celano)
    
    Pull request description:
    
      ```s
      cargo update
          Updating crates.io index
           Locking 20 packages to latest compatible versions
          Updating bitflags v2.5.0 -> v2.6.0
          Updating cc v1.0.99 -> v1.0.103
          Updating clap v4.5.7 -> v4.5.8
          Updating clap_builder v4.5.7 -> v4.5.8
          Updating clap_derive v4.5.5 -> v4.5.8
          Updating either v1.12.0 -> v1.13.0
          Updating lazy_static v1.4.0 -> v1.5.0
          Updating libloading v0.8.3 -> v0.8.4
          Updating log v0.4.21 -> v0.4.22
          Updating num-bigint v0.4.5 -> v0.4.6
          Updating object v0.36.0 -> v0.36.1
          Updating proc-macro2 v1.0.85 -> v1.0.86
          Updating serde_bytes v0.11.14 -> v0.11.15
          Updating serde_json v1.0.117 -> v1.0.119
          Updating serde_with v3.8.1 -> v3.8.2
          Updating serde_with_macros v3.8.1 -> v3.8.2
          Updating subtle v2.5.0 -> v2.6.1
          Updating syn v2.0.66 -> v2.0.68
          Updating tinyvec v1.6.0 -> v1.6.1
          Updating uuid v1.8.0 -> v1.9.1
      ```
    
    ACKs for top commit:
      josecelano:
        ACK 77c6954
    
    Tree-SHA512: cddd1db9fc72255e01224a9e882183acd8129a34b87fa8bb0b194784d4cd53ba65092bdf6b97e5dedbc12a9e7cd1a4295ab43ada219b34a79b4f1eb22cacd5ea
    josecelano committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    d5a8468 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    daeb7cc View commit details
    Browse the repository at this point in the history
  5. Merge #931: ci: coverage workflow pre-build fix

    daeb7cc ci: coverage workflow pre-build fix (Cameron Garnham)
    
    Pull request description:
    
    ACKs for top commit:
      da2ce7:
        ACK daeb7cc
    
    Tree-SHA512: cb6665fb2937a29067ec2ebeaf1f7a751e3f6410809f237ec3701bdb0304510e6140dfa668a70db8de2b75463086b17c0db539fe2a926680d9165661ffba271c
    da2ce7 committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    d4e3208 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    6495a4c View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    d1c2d15 View commit details
    Browse the repository at this point in the history
  8. Merge #921: Add comments to the UDP server

    d1c2d15 fix: [#918] revision for UDP active reqeust buffer comments (Cameron Garnham)
    6495a4c docs: [#918] add comments to the UDP server (Jose Celano)
    
    Pull request description:
    
      After a dicussion with @da2ce7 I understood the reasons why he implemented the active requests buffer in the way it's implemented. This PR adds some clarifications.
    
      My main concern was tasks starvation, which means if we always accept new requests (spawning new tasks) we could not give enough time to current active tasks to finish (a reasonable time).
    
      @da2ce7 clarify that the yieldinf `tokio::task::yield_now().await;` should give the task enough time to finish.
    
      My second concern was why we immediately spawn new tasks for the incomming requests instead of waiting until we have place in the buffer. @da2ce7 replied that we are going to run that's tasks anyway because we force a place for the new tasks.
    
    ACKs for top commit:
      josecelano:
        ACK d1c2d15
    
    Tree-SHA512: f6b17fe1daa0582c5c235fdbcfa6f8d36c81d8a0cf44608b910494bd35c84d57894a09d208e97e6fa6e079bd799e3a6891781bacc59459c270efc261a693a03e
    josecelano committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    5f1fdbd View commit details
    Browse the repository at this point in the history
  9. refactor: [#932] sort config core section fields

    When you format a toml file with a linter it sorts the keys
    alphabetically. It's good to have the same order in the code.
    
    It's also a common practice for JSON. This helps to make serialization
    deterministic.
    josecelano committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    2186809 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    f5d8dc6 View commit details
    Browse the repository at this point in the history
  11. feat: [#932] replace mode core config option with private and `li…

    …sted` flags
    
    From:
    
    ```toml
    [core]
    mode = "public"
    tracker_usage_statistics = true
    inactive_peer_cleanup_interval = 600
    ```
    
    To:
    
    ```toml
    [core]
    inactive_peer_cleanup_interval = 600
    listed = false
    private = false
    tracker_usage_statistics = true
    ```
    josecelano committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    ca31c83 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    a5b9e14 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    5a16ea1 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    f61c7c3 View commit details
    Browse the repository at this point in the history
  15. chore: remove crate from ignore list in cargo machete

    It was accidentaly added.
    josecelano committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    b6b841d View commit details
    Browse the repository at this point in the history
  16. Merge #934: Config overhaul: split tracker mode

    b6b841d chore: remove crate from ignore list in cargo machete (Jose Celano)
    f61c7c3 docs: add commments to core::Tracker struct fields (Jose Celano)
    5a16ea1 refactor: [#932] make all Tracker fields private (Jose Celano)
    a5b9e14 refactor: inject the core config to the core tracker (Jose Celano)
    ca31c83 feat: [#932] replace `mode` core config option with `private` and `listed` flags (Jose Celano)
    f5d8dc6 refactor: [#932] WIP. Add new core config options: private and listed (Jose Celano)
    2186809 refactor: [#932] sort config core section fields (Jose Celano)
    
    Pull request description:
    
      Replace `mode` core config option with `private` and `listed` flags:
    
      From:
    
      ```toml
      [core]
      mode = "public"
      tracker_usage_statistics = true
      inactive_peer_cleanup_interval = 600
      ```
    
      To:
    
      ```toml
      [core]
      inactive_peer_cleanup_interval = 600
      listed = false
      private = false
      tracker_usage_statistics = true
      ```
    
    ACKs for top commit:
      josecelano:
        ACK b6b841d
    
    Tree-SHA512: 66f5cb32bf13f19a539581d948faf9e13bf4e6c70b92d3866f3a8405f507dfa8f0da32048873f6e12d1f93d9f204fc9dd51692d77d46948e695060a7c4b754d0
    josecelano committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    5aad462 View commit details
    Browse the repository at this point in the history
  17. refactor: [#939] change config version

    The current config version is 2 leaving the previous before the config
    averhaul as version 1.
    josecelano committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    2969df3 View commit details
    Browse the repository at this point in the history
  18. refactor: use only latest config version in prod code

    Concrete config versions should be use for testing or config migration tools.
    josecelano committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    632ad0d View commit details
    Browse the repository at this point in the history
  19. Merge #940: Config overhaul: define current config version as version 2

    632ad0d refactor: use only latest config version in prod code (Jose Celano)
    2969df3 refactor: [#939] change config version (Jose Celano)
    
    Pull request description:
    
      Config overhaul: define current config version as version 2.
    
    ACKs for top commit:
      josecelano:
        ACK 632ad0d
    
    Tree-SHA512: cfa38440792f56a4ae6b35e3604feba5dfb4560605fc3fa98c95502131d3eb544f8c33b9db1384b69a46025469d015be0ffe6d8f1f4e44dff0548c82b722428c
    josecelano committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    de8ed61 View commit details
    Browse the repository at this point in the history
  20. feat: warn adming when no service is enabled in the configration

    That migth be a config error.
    josecelano committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    e299792 View commit details
    Browse the repository at this point in the history
  21. feat: normalize log nessages

    - No '.'  full stop at the end.
    - Start message wirh uppercase.
    josecelano committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    46c3263 View commit details
    Browse the repository at this point in the history
  22. feat: the configuration can be serialized as JSON

    We will print to logs the final configuration used to run the tracker (after Figment processes
    all sources):
    
    ```output
    Loading extra configuration from file: `storage/tracker/etc/tracker.toml` ...
    2024-07-01T15:29:09.785334Z  INFO torrust_tracker::bootstrap::logging: Logging initialized
    2024-07-01T15:29:09.785862Z  INFO torrust_tracker::bootstrap::app: Configuration:
     {
      "logging": {
        "log_level": "info"
      },
      "core": {
        "announce_policy": {
          "interval": 120,
          "interval_min": 120
        },
        "database": {
          "driver": "Sqlite3",
          "path": "./storage/tracker/lib/database/sqlite3.db"
        },
        "inactive_peer_cleanup_interval": 600,
        "listed": false,
        "net": {
          "external_ip": "0.0.0.0",
          "on_reverse_proxy": false
        },
        "private": true,
        "tracker_policy": {
          "max_peer_timeout": 900,
          "persistent_torrent_completed_stat": false,
          "remove_peerless_torrents": true
        },
        "tracker_usage_statistics": true
      },
      "udp_trackers": null,
      "http_trackers": null,
      "http_api": null,
      "health_check_api": {
        "bind_address": "127.0.0.1:1313"
      }
    }
    2024-07-01T15:29:09.785879Z  WARN torrust_tracker::app: No services enabled in configuration
    2024-07-01T15:29:09.785920Z  INFO torrust_tracker::app: No UDP blocks in configuration
    2024-07-01T15:29:09.785923Z  INFO torrust_tracker::app: No HTTP blocks in configuration
    2024-07-01T15:29:09.785924Z  INFO torrust_tracker::app: No API block in configuration
    2024-07-01T15:29:09.785941Z  INFO HEALTH CHECK API: Starting on: http://127.0.0.1:1313
    2024-07-01T15:29:09.786035Z  INFO HEALTH CHECK API: Started on: http://127.0.0.1:1313
    ```
    josecelano committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    ddfbde3 View commit details
    Browse the repository at this point in the history
  23. feat: log final config after processing all config sources

    We print to logs the final configuration used to run the tracker (after Figment processes
    all sources):
    
    ```output
    Loading extra configuration from file: `storage/tracker/etc/tracker.toml` ...
    2024-07-01T15:29:09.785334Z  INFO torrust_tracker::bootstrap::logging: Logging initialized
    2024-07-01T15:29:09.785862Z  INFO torrust_tracker::bootstrap::app: Configuration:
     {
      "logging": {
        "log_level": "info"
      },
      "core": {
        "announce_policy": {
          "interval": 120,
          "interval_min": 120
        },
        "database": {
          "driver": "Sqlite3",
          "path": "./storage/tracker/lib/database/sqlite3.db"
        },
        "inactive_peer_cleanup_interval": 600,
        "listed": false,
        "net": {
          "external_ip": "0.0.0.0",
          "on_reverse_proxy": false
        },
        "private": true,
        "tracker_policy": {
          "max_peer_timeout": 900,
          "persistent_torrent_completed_stat": false,
          "remove_peerless_torrents": true
        },
        "tracker_usage_statistics": true
      },
      "udp_trackers": null,
      "http_trackers": null,
      "http_api": null,
      "health_check_api": {
        "bind_address": "127.0.0.1:1313"
      }
    }
    2024-07-01T15:29:09.785879Z  WARN torrust_tracker::app: No services enabled in configuration
    2024-07-01T15:29:09.785920Z  INFO torrust_tracker::app: No UDP blocks in configuration
    2024-07-01T15:29:09.785923Z  INFO torrust_tracker::app: No HTTP blocks in configuration
    2024-07-01T15:29:09.785924Z  INFO torrust_tracker::app: No API block in configuration
    2024-07-01T15:29:09.785941Z  INFO HEALTH CHECK API: Starting on: http://127.0.0.1:1313
    2024-07-01T15:29:09.786035Z  INFO HEALTH CHECK API: Started on: http://127.0.0.1:1313
    ```
    josecelano committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    397ef0f View commit details
    Browse the repository at this point in the history
  24. Merge #941: Config overhaul: improve admin experience

    397ef0f feat: log final config after processing all config sources (Jose Celano)
    ddfbde3 feat: the configuration can be serialized as JSON (Jose Celano)
    46c3263 feat: normalize log nessages (Jose Celano)
    e299792 feat: warn adming when no service is enabled in the configration (Jose Celano)
    
    Pull request description:
    
      - Add a warning when the configuration does not enable any service (UDP tracker, HTTP tracker, or tracker API). It does not make sense to run the app without services enabled.
      - Write the final used config to the logs when the tracker starts. We are only writing the config values when the source is an env var. We should do it always and print out the final configuration after merging sources (defaults -> TOML file -> env vars).
    
    ACKs for top commit:
      josecelano:
        ACK 397ef0f
    
    Tree-SHA512: c35b8b7e20909e31cb0fc5754a2ad39bfb16685b77e7451e264713f355682a72d604492a76d4637250bb1ef77f54d037ce9bfae435c836f83e07eea510b2d8eb
    josecelano committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    b66adcc View commit details
    Browse the repository at this point in the history
  25. feat: [#936] rename config value log_level to threshold

    From:
    
    ```toml
    [logging]
    log_level = "info"
    ```
    
    To:
    
    ```toml
    [logging]
    threshold = "info"
    ```
    
    Threshold represetns better the concept since this value is the security
    level at which the app stops collecting logs, meaning it filters out
    logs with a lower security level.
    josecelano committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    af61e20 View commit details
    Browse the repository at this point in the history
  26. Merge #942: Config overhaul: rename log_level to threshold

    af61e20 feat: [#936] rename config value log_level to threshold (Jose Celano)
    
    Pull request description:
    
      Rename config option `log_level` to `threshold`.
    
      From:
    
      ```toml
      [logging]
      log_level = "info"
      ```
    
      To:
    
      ```toml
      [logging]
      threshold = "info"
      ```
    
      Threshold representts better the concept since this value is the security level at which the app stops collecting logs, meaning it filters out logs with a lower security level.
    
    ACKs for top commit:
      josecelano:
        ACK af61e20
    
    Tree-SHA512: 499f9f171a21b98094013f7303ae00d3f2b280af44fa5d117508dc474d1787e6049c556eba3fe16adc082e9730cf7039fd078da0c4f5a265cbda72fd7c887586
    josecelano committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    400c74b View commit details
    Browse the repository at this point in the history
  27. chore(deps): update dependencies

    ```output
    cargo update
        Updating crates.io index
         Locking 4 packages to latest compatible versions
        Updating cc v1.0.103 -> v1.0.104
        Updating hyper v1.3.1 -> v1.4.0
        Updating hyper-util v0.1.5 -> v0.1.6
        Updating serde_json v1.0.119 -> v1.0.120
    ```
    josecelano committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    e2dbb0b View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    4846c9f View commit details
    Browse the repository at this point in the history

Commits on Jul 2, 2024

  1. Merge #946: Update dependencies

    4846c9f chore: update workflow action build-push-action (Jose Celano)
    e2dbb0b chore(deps): update dependencies (Jose Celano)
    
    Pull request description:
    
      Update dependencies.
    
    Top commit has no ACKs.
    
    Tree-SHA512: 7a673e6c6943da57043c42486a89b7f874c6ab50e497ad0e3faa039e0e5995fc9e3c705f6d0229e6339a722c72a9bfe156ed38565dcbdbfe8311f5c6be6a4201
    josecelano committed Jul 2, 2024
    Configuration menu
    Copy the full SHA
    ddd73ca View commit details
    Browse the repository at this point in the history
  2. feat: [#937] add version to configration file following semver.

    Add version and namespace to the configuration. It will fail if the provided version is not supported.
    
    ```toml
    version = "2"
    ```
    
    It only supports the exact match '2'.
    josecelano committed Jul 2, 2024
    Configuration menu
    Copy the full SHA
    60c6876 View commit details
    Browse the repository at this point in the history
  3. Merge #947: Config overhaul: add version and namespace to the configu…

    …ration
    
    60c6876 feat: [#937] add version to configration file following semver. (Jose Celano)
    
    Pull request description:
    
      Add version to the configuration. It will fail if the provided version is not supported.
    
      ```toml
      version = "2"
      ```
    
      It only supports the exact match '2'.
    
    ACKs for top commit:
      josecelano:
        ACK 60c6876
    
    Tree-SHA512: fab3f7301aba19c4df662a07fde0b0eee985844563b10638a49c97037358deac15bd96b10ebcd85de95758eba8c65b883afb01b7efacab4195216bee587f58f9
    josecelano committed Jul 2, 2024
    Configuration menu
    Copy the full SHA
    1e891f1 View commit details
    Browse the repository at this point in the history

Commits on Jul 4, 2024

  1. chore(deps): add url dependency

    It will be use to parse the MySQL path in the configuration. FOr
    example:
    
    ```toml
    [core.database]
    driver = "MySQL"
    path = "mysql://db_user:db_user_secret_password@mysql:3306/torrust_tracker"
    ```
    josecelano committed Jul 4, 2024
    Configuration menu
    Copy the full SHA
    16aa652 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4673514 View commit details
    Browse the repository at this point in the history
  3. Merge #951: Config overhaul: remove secrets when final config is prin…

    …ted to console
    
    4673514 fix: [#948] mask secrets in logs (Jose Celano)
    16aa652 chore(deps): add url dependency (Jose Celano)
    
    Pull request description:
    
      When the tracker is started, the final configuration is printed out. This feature was added in #935. This PR masks the secrets with asterics.
    
    ACKs for top commit:
      josecelano:
        ACK 4673514
    
    Tree-SHA512: 59d064ac361333cbb089a7a72ab95cb579c17a41dc9efe67a44290d7a1c44a002e9d7d541808e881b9e274a555da432579e937a7d0db12eb5122840e263229e5
    josecelano committed Jul 4, 2024
    Configuration menu
    Copy the full SHA
    c747321 View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2024

  1. refactor: [#950] decouple database driver enum

    Use a different enum for configuration and domain.
    josecelano committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    9be9638 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    954295a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d970bb8 View commit details
    Browse the repository at this point in the history
  4. feat: [#950] use lowercase for database driver values in configuration

    ```toml
    [core.database]
    driver = "sqlite3"
    ```
    
    We are normalizing all enum variants in configration to lowercase.
    josecelano committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    9d72f51 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ca348a8 View commit details
    Browse the repository at this point in the history
  6. Merge #953: Config overhaul: lowercase for DatabaseDriver

    ca348a8 chore: remove unused dependency (Jose Celano)
    9d72f51 feat: [#950] use lowercase for database driver values in configuration (Jose Celano)
    d970bb8 refactor: [#950] rename DatabaseDriver to Driver (Jose Celano)
    954295a refactor: [#950] move DatabaseDriver to databases mod (Jose Celano)
    9be9638 refactor: [#950] decouple database driver enum (Jose Celano)
    
    Pull request description:
    
      Use lowercase for database driver values in the configuration:
    
      ```toml
      [core.database]
      driver = "sqlite3"
      #driver = "MySQL"
      ```
    
      Instead of:
    
      ```toml
      [core.database]
      driver = "Sqlite3"
      #driver = "MySql"
      ```
    
      We are normalizing all enum variants in the configuration to lowercase.
    
      It also decouples the internal database driver enum from the enum used in the configuration.
    
    ACKs for top commit:
      josecelano:
        ACK ca348a8
    
    Tree-SHA512: 499ed0b628e385f7927d2bea50334c68eece6fe2e6b0170bf372e3db7d88837fb908fdbf0e94d7f7144141a1d985732b21694515e5551155bd8d7cbe9e58bb15
    josecelano committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    035d630 View commit details
    Browse the repository at this point in the history

Commits on Jul 11, 2024

  1. udp: processor for requests

    da2ce7 committed Jul 11, 2024
    Configuration menu
    Copy the full SHA
    019cf9f View commit details
    Browse the repository at this point in the history

Commits on Jul 13, 2024

  1. Merge #955: udp: processor for requests

    019cf9f udp: processor for requests (Cameron Garnham)
    
    Pull request description:
    
      Little work to cleanup the server udp launcher module.
    
    ACKs for top commit:
      da2ce7:
        ACK 019cf9f
    
    Tree-SHA512: fc32f73f7969d6c6b7f112306b2132cb853fbbe120979ea5826f835b570dff646fc73df66585a33c3223c85a3fd73373d9afcad6761ec5b67d7dca6a4688547d
    da2ce7 committed Jul 13, 2024
    Configuration menu
    Copy the full SHA
    f2629ce View commit details
    Browse the repository at this point in the history
  2. dev: remove async trait dep

    da2ce7 committed Jul 13, 2024
    Configuration menu
    Copy the full SHA
    64850af View commit details
    Browse the repository at this point in the history
  3. Merge #959: dev: remove async trait dep

    64850af dev: remove async trait dep (Cameron Garnham)
    
    Pull request description:
    
      Remove Unneeded Async Trait Dependency
    
    ACKs for top commit:
      da2ce7:
        ACK 64850af
    
    Tree-SHA512: 54a83db83d11b0829c80e3daf4dd5776bd6b4e4709553645ffe742dcdba458c24dfa195e2c1b8abac1a59152144aa5419698d9edbf25af657f1e6c85943fda78
    da2ce7 committed Jul 13, 2024
    Configuration menu
    Copy the full SHA
    8ff668f View commit details
    Browse the repository at this point in the history
  4. chore: update deps

        Updating crates.io index
         Locking 38 packages to latest compatible versions
        Updating async-trait v0.1.80 -> v0.1.81
        Updating bytes v1.6.0 -> v1.6.1
        Updating castaway v0.2.2 -> v0.2.3
        Updating cc v1.0.104 -> v1.1.2
        Updating clap v4.5.8 -> v4.5.9
        Updating clap_builder v4.5.8 -> v4.5.9
        Updating darling v0.20.9 -> v0.20.10
        Updating darling_core v0.20.9 -> v0.20.10
        Updating darling_macro v0.20.9 -> v0.20.10
        Updating http-body v1.0.0 -> v1.0.1
        Updating hyper v1.4.0 -> v1.4.1
        Updating oorandom v11.1.3 -> v11.1.4
        Updating rustls v0.23.10 -> v0.23.11
        Updating rustls-webpki v0.102.4 -> v0.102.5
        Updating serde v1.0.203 -> v1.0.204
        Updating serde_derive v1.0.203 -> v1.0.204
        Updating serde_with v3.8.2 -> v3.8.3
        Updating serde_with_macros v3.8.2 -> v3.8.3
        Updating syn v2.0.68 -> v2.0.71
        Updating thiserror v1.0.61 -> v1.0.62
        Updating thiserror-impl v1.0.61 -> v1.0.62
        Updating tinyvec v1.6.1 -> v1.8.0
        Updating toml_edit v0.22.14 -> v0.22.15
        Updating uuid v1.9.1 -> v1.10.0
        Updating windows-targets v0.52.5 -> v0.52.6
        Updating windows_aarch64_gnullvm v0.52.5 -> v0.52.6
        Updating windows_aarch64_msvc v0.52.5 -> v0.52.6
        Updating windows_i686_gnu v0.52.5 -> v0.52.6
        Updating windows_i686_gnullvm v0.52.5 -> v0.52.6
        Updating windows_i686_msvc v0.52.5 -> v0.52.6
        Updating windows_x86_64_gnu v0.52.5 -> v0.52.6
        Updating windows_x86_64_gnullvm v0.52.5 -> v0.52.6
        Updating windows_x86_64_msvc v0.52.5 -> v0.52.6
        Updating zerocopy v0.7.34 -> v0.7.35
        Updating zerocopy-derive v0.7.34 -> v0.7.35
        Updating zstd v0.13.1 -> v0.13.2
        Updating zstd-safe v7.1.0 -> v7.2.0
        Updating zstd-sys v2.0.11+zstd.1.5.6 -> v2.0.12+zstd.1.5.6
    da2ce7 committed Jul 13, 2024
    Configuration menu
    Copy the full SHA
    cafb9aa View commit details
    Browse the repository at this point in the history
  5. Merge #960: chore: update deps

    cafb9aa chore: update deps (Cameron Garnham)
    
    Pull request description:
    
      Updating crates.io index
           Locking 38 packages to latest compatible versions
          Updating async-trait v0.1.80 -> v0.1.81
          Updating bytes v1.6.0 -> v1.6.1
          Updating castaway v0.2.2 -> v0.2.3
          Updating cc v1.0.104 -> v1.1.2
          Updating clap v4.5.8 -> v4.5.9
          Updating clap_builder v4.5.8 -> v4.5.9
          Updating darling v0.20.9 -> v0.20.10
          Updating darling_core v0.20.9 -> v0.20.10
          Updating darling_macro v0.20.9 -> v0.20.10
          Updating http-body v1.0.0 -> v1.0.1
          Updating hyper v1.4.0 -> v1.4.1
          Updating oorandom v11.1.3 -> v11.1.4
          Updating rustls v0.23.10 -> v0.23.11
          Updating rustls-webpki v0.102.4 -> v0.102.5
          Updating serde v1.0.203 -> v1.0.204
          Updating serde_derive v1.0.203 -> v1.0.204
          Updating serde_with v3.8.2 -> v3.8.3
          Updating serde_with_macros v3.8.2 -> v3.8.3
          Updating syn v2.0.68 -> v2.0.71
          Updating thiserror v1.0.61 -> v1.0.62
          Updating thiserror-impl v1.0.61 -> v1.0.62
          Updating tinyvec v1.6.1 -> v1.8.0
          Updating toml_edit v0.22.14 -> v0.22.15
          Updating uuid v1.9.1 -> v1.10.0
          Updating windows-targets v0.52.5 -> v0.52.6
          Updating windows_aarch64_gnullvm v0.52.5 -> v0.52.6
          Updating windows_aarch64_msvc v0.52.5 -> v0.52.6
          Updating windows_i686_gnu v0.52.5 -> v0.52.6
          Updating windows_i686_gnullvm v0.52.5 -> v0.52.6
          Updating windows_i686_msvc v0.52.5 -> v0.52.6
          Updating windows_x86_64_gnu v0.52.5 -> v0.52.6
          Updating windows_x86_64_gnullvm v0.52.5 -> v0.52.6
          Updating windows_x86_64_msvc v0.52.5 -> v0.52.6
          Updating zerocopy v0.7.34 -> v0.7.35
          Updating zerocopy-derive v0.7.34 -> v0.7.35
          Updating zstd v0.13.1 -> v0.13.2
          Updating zstd-safe v7.1.0 -> v7.2.0
          Updating zstd-sys v2.0.11+zstd.1.5.6 -> v2.0.12+zstd.1.5.6
    
    ACKs for top commit:
      da2ce7:
        ACK cafb9aa
    
    Tree-SHA512: 36cb2d54878afa70b805cc843515426986d48c9e1bcd41021262a84573687d3f06117205b730507898817d6d1b613a60fc0d7df251c88ef2e52a8fae120a4ba7
    da2ce7 committed Jul 13, 2024
    Configuration menu
    Copy the full SHA
    d3cb8d0 View commit details
    Browse the repository at this point in the history
  6. toml: use major versions

    da2ce7 committed Jul 13, 2024
    Configuration menu
    Copy the full SHA
    7f867d6 View commit details
    Browse the repository at this point in the history
  7. fixup: doc fixups

    da2ce7 committed Jul 13, 2024
    Configuration menu
    Copy the full SHA
    d2717ad View commit details
    Browse the repository at this point in the history
  8. chore: update deps

    da2ce7 committed Jul 13, 2024
    Configuration menu
    Copy the full SHA
    9791427 View commit details
    Browse the repository at this point in the history
  9. Merge #962: use major version in toml files, and update major versions

    9791427 chore: update deps (Cameron Garnham)
    d2717ad fixup: doc fixups (Cameron Garnham)
    7f867d6 toml: use major versions (Cameron Garnham)
    
    Pull request description:
    
    ACKs for top commit:
      da2ce7:
        ACK 9791427
    
    Tree-SHA512: bd74a4ec3c56e6b25450c19467f122ddf105c21256ccd1a6d37aa2768167be58503895e1d3471fbc4d902516621bc263df646f6eeaceb3f374bcb214af144f11
    da2ce7 committed Jul 13, 2024
    Configuration menu
    Copy the full SHA
    2aef245 View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2024

  1. Configuration menu
    Copy the full SHA
    8cefad6 View commit details
    Browse the repository at this point in the history
  2. Merge #963: Fix uppercase for containerfile keywords

    8cefad6 fix: [#933] uppercase for containerfile keywords (Jose Celano)
    
    Pull request description:
    
    ACKs for top commit:
      josecelano:
        ACK 8cefad6
    
    Tree-SHA512: c2581e4a0028938e3e685088ff674f6571aa55d0fb5b11d2d84c48115ed9fad9f0a5328744e36e94cf0aeb4e533f303ed20e089eb49159dee5084eaa0f4a2e73
    josecelano committed Jul 15, 2024
    Configuration menu
    Copy the full SHA
    d3366c3 View commit details
    Browse the repository at this point in the history

Commits on Jul 29, 2024

  1. chore(deps): update dependencies

    ```output
    cargo update
        Updating crates.io index
         Locking 47 packages to latest compatible versions
        Updating anstream v0.6.14 -> v0.6.15
        Updating anstyle v1.0.7 -> v1.0.8
        Updating anstyle-parse v0.2.4 -> v0.2.5
        Updating anstyle-query v1.1.0 -> v1.1.1
        Updating anstyle-wincon v3.0.3 -> v3.0.4
        Updating async-compression v0.4.11 -> v0.4.12
        Updating async-executor v1.12.0 -> v1.13.0
        Updating cc v1.1.2 -> v1.1.6
        Updating clap v4.5.9 -> v4.5.11
        Updating clap_builder v4.5.9 -> v4.5.11
        Updating clap_derive v4.5.8 -> v4.5.11
        Updating clap_lex v0.7.1 -> v0.7.2
        Updating colorchoice v1.0.1 -> v1.0.2
        Updating is_terminal_polyfill v1.70.0 -> v1.70.1
        Updating jobserver v0.1.31 -> v0.1.32
        Updating libloading v0.8.4 -> v0.8.5
        Updating libsqlite3-sys v0.28.0 -> v0.30.1
        Updating mio v0.8.11 -> v1.0.1
        Updating mockall v0.12.1 -> v0.13.0
        Updating mockall_derive v0.12.1 -> v0.13.0
        Removing num_cpus v1.16.0
        Updating object v0.36.1 -> v0.36.2
        Updating openssl v0.10.64 -> v0.10.66
        Updating openssl-sys v0.9.102 -> v0.9.103
        Updating predicates v3.1.0 -> v3.1.2
        Updating predicates-core v1.0.6 -> v1.0.8
        Updating predicates-tree v1.0.9 -> v1.0.11
        Updating r2d2_sqlite v0.24.0 -> v0.25.0
        Updating redox_syscall v0.5.2 -> v0.5.3
        Updating rusqlite v0.31.0 -> v0.32.1
        Updating rustls v0.23.11 -> v0.23.12
        Updating rustls-webpki v0.102.5 -> v0.102.6
        Updating security-framework v2.11.0 -> v2.11.1
        Updating security-framework-sys v2.11.0 -> v2.11.1
        Updating serde_json v1.0.120 -> v1.0.121
        Updating serde_spanned v0.6.6 -> v0.6.7
        Updating serde_with v3.8.3 -> v3.9.0
        Updating serde_with_macros v3.8.3 -> v3.9.0
        Updating syn v2.0.71 -> v2.0.72
        Updating thiserror v1.0.62 -> v1.0.63
        Updating thiserror-impl v1.0.62 -> v1.0.63
        Updating tokio v1.38.0 -> v1.39.2
        Updating tokio-macros v2.3.0 -> v2.4.0
        Updating toml v0.8.14 -> v0.8.16
        Updating toml_datetime v0.6.6 -> v0.6.7
        Updating toml_edit v0.22.15 -> v0.22.17
        Updating version_check v0.9.4 -> v0.9.5
        Updating winnow v0.6.13 -> v0.6.16
    ```
    josecelano committed Jul 29, 2024
    Configuration menu
    Copy the full SHA
    82a8b43 View commit details
    Browse the repository at this point in the history
  2. Merge #973: Update dependencies

    82a8b43 chore(deps): update dependencies (Jose Celano)
    
    Pull request description:
    
      ```output
      cargo update
          Updating crates.io index
           Locking 47 packages to latest compatible versions
          Updating anstream v0.6.14 -> v0.6.15
          Updating anstyle v1.0.7 -> v1.0.8
          Updating anstyle-parse v0.2.4 -> v0.2.5
          Updating anstyle-query v1.1.0 -> v1.1.1
          Updating anstyle-wincon v3.0.3 -> v3.0.4
          Updating async-compression v0.4.11 -> v0.4.12
          Updating async-executor v1.12.0 -> v1.13.0
          Updating cc v1.1.2 -> v1.1.6
          Updating clap v4.5.9 -> v4.5.11
          Updating clap_builder v4.5.9 -> v4.5.11
          Updating clap_derive v4.5.8 -> v4.5.11
          Updating clap_lex v0.7.1 -> v0.7.2
          Updating colorchoice v1.0.1 -> v1.0.2
          Updating is_terminal_polyfill v1.70.0 -> v1.70.1
          Updating jobserver v0.1.31 -> v0.1.32
          Updating libloading v0.8.4 -> v0.8.5
          Updating libsqlite3-sys v0.28.0 -> v0.30.1
          Updating mio v0.8.11 -> v1.0.1
          Updating mockall v0.12.1 -> v0.13.0
          Updating mockall_derive v0.12.1 -> v0.13.0
          Removing num_cpus v1.16.0
          Updating object v0.36.1 -> v0.36.2
          Updating openssl v0.10.64 -> v0.10.66
          Updating openssl-sys v0.9.102 -> v0.9.103
          Updating predicates v3.1.0 -> v3.1.2
          Updating predicates-core v1.0.6 -> v1.0.8
          Updating predicates-tree v1.0.9 -> v1.0.11
          Updating r2d2_sqlite v0.24.0 -> v0.25.0
          Updating redox_syscall v0.5.2 -> v0.5.3
          Updating rusqlite v0.31.0 -> v0.32.1
          Updating rustls v0.23.11 -> v0.23.12
          Updating rustls-webpki v0.102.5 -> v0.102.6
          Updating security-framework v2.11.0 -> v2.11.1
          Updating security-framework-sys v2.11.0 -> v2.11.1
          Updating serde_json v1.0.120 -> v1.0.121
          Updating serde_spanned v0.6.6 -> v0.6.7
          Updating serde_with v3.8.3 -> v3.9.0
          Updating serde_with_macros v3.8.3 -> v3.9.0
          Updating syn v2.0.71 -> v2.0.72
          Updating thiserror v1.0.62 -> v1.0.63
          Updating thiserror-impl v1.0.62 -> v1.0.63
          Updating tokio v1.38.0 -> v1.39.2
          Updating tokio-macros v2.3.0 -> v2.4.0
          Updating toml v0.8.14 -> v0.8.16
          Updating toml_datetime v0.6.6 -> v0.6.7
          Updating toml_edit v0.22.15 -> v0.22.17
          Updating version_check v0.9.4 -> v0.9.5
          Updating winnow v0.6.13 -> v0.6.16
      ```
    
    ACKs for top commit:
      josecelano:
        ACK 82a8b43
    
    Tree-SHA512: 6bfca288e67b7495608bd248d8c98d0c50b258940ff2c9356f428a5bc60d791d0a5d3de456e445acb46877007268e2fc7d21bd7065d1e3828a8499b5c62944bd
    josecelano committed Jul 29, 2024
    Configuration menu
    Copy the full SHA
    a964659 View commit details
    Browse the repository at this point in the history
  3. feat: [#974] new API endpoint to upload pre-existing keys

    You can test it with:
    
    ```console
    curl -X POST http://localhost:1212/api/v1/keys?token=MyAccessToken \
         -H "Content-Type: application/json" \
         -d '{
               "key": "Xc1L4PbQJSFGlrgSRZl8wxSFAuMa21z7",
               "seconds_valid": 7200
             }'
    ```
    
    The `key` field is optional. If it's not provided a random key will be
    generated.
    josecelano committed Jul 29, 2024
    Configuration menu
    Copy the full SHA
    09beb52 View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2024

  1. Configuration menu
    Copy the full SHA
    583b305 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    04f50e4 View commit details
    Browse the repository at this point in the history
  3. Merge #975: New API endpoint to upload pre-existing keys

    04f50e4 docs: [#974] update add key endpoint doc (Jose Celano)
    583b305 test: [#874] new key generation endpoint (Jose Celano)
    09beb52 feat: [#974] new API endpoint to upload pre-existing keys (Jose Celano)
    
    Pull request description:
    
      You can test it with:
    
      ```console
      curl -X POST http://localhost:1212/api/v1/keys?token=MyAccessToken \
           -H "Content-Type: application/json" \
           -d '{
                 "key": "Xc1L4PbQJSFGlrgSRZl8wxSFAuMa21z7",
                 "seconds_valid": 7200
               }'
      ```
    
      The `key` field is optional. If it's not provided, a random key will be generated.
    
      ### Subtasks
    
      - [x] New endpoint to upload a pre-existing key.
      - [x] Add E2E test.
      - [x] Add new endpoint to rustdoc.
      - [x] Mark the current endpoint to generate random keys as deprecated.
    
    ACKs for top commit:
      josecelano:
        ACK 04f50e4
    
    Tree-SHA512: 6c788f428dbaa5960b87c6ca8c0cc3229e62a3f18de4e5a0e66e5a498e3911cb1ee553251962b6ba022e8a82ebc9fe4d78849119b28abbe5027c207987fddd3c
    josecelano committed Jul 30, 2024
    Configuration menu
    Copy the full SHA
    1f5de8c View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8d41d18 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    e81914b View commit details
    Browse the repository at this point in the history
  6. Merge #980: Do not allow invalid tracker keys

    e81914b refactor: [#976] concrete errors for parsing keys (Jose Celano)
    8d41d18 fix: [#976] do not allow invalid tracker keys (Jose Celano)
    
    Pull request description:
    
      Do not allow invalid tracker keys. Keys cannot be constructed if they:
    
      - Are longer than 32 chars.
      - Contain non-alphanumeric ASCII chars.
    
    ACKs for top commit:
      josecelano:
        ACK e81914b
    
    Tree-SHA512: 4916e50c0b853173bd8b28e9cbe7f1b9b707e413ae5f164339427710a1d5482575cb2ba8fee430341503d24a8b8db48ba25fd8de4e0333a8d14f83681783a483
    josecelano committed Jul 30, 2024
    Configuration menu
    Copy the full SHA
    1fdf3a8 View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2024

  1. chore(deps): [#979] add new cargo dep: serde_with

    We will add a new enpoint to add tracker keys where some JSON values can
    be null:
    
    ```console
    curl -X POST http://localhost:1212/api/v1/keys?token=MyAccessToken \
         -H "Content-Type: application/json" \
         -d '{
         	   "key": null,
               "seconds_valid": null
             }'
    ```
    
    We need to set those values to `None` in the Rsut strucut.
    josecelano committed Jul 31, 2024
    Configuration menu
    Copy the full SHA
    8d3fe72 View commit details
    Browse the repository at this point in the history
  2. feat: [#979] permanent keys

    This commit adds a new feature. It allow creating permanent keys (keys
    that do not expire).
    
    THis is an example for making a request to the endpoint using curl:
    
    ```console
    curl -X POST http://localhost:1212/api/v1/keys?token=MyAccessToken \
         -H "Content-Type: application/json" \
         -d '{
         	   "key": null,
               "seconds_valid": null
             }'
    ```
    
    NOTICE: both the `key` and the `seconds_valid` fields can be null.
    
    - If `key` is `null` a new random key will be generated. You can use an
      string with a pre-generated key like `Xc1L4PbQJSFGlrgSRZl8wxSFAuMa2110`. That will allow users to migrate to the Torrust Tracker wihtout forcing the users to re-start downloading/seeding with new keys.
    - If `seconds_valid` is `null` the key will be permanent. Otherwise it
      will expire after the seconds specified in this value.
    josecelano committed Jul 31, 2024
    Configuration menu
    Copy the full SHA
    c5beff5 View commit details
    Browse the repository at this point in the history

Commits on Aug 1, 2024

  1. Merge #983: Overhaul tracker keys: allow permanent keys

    c5beff5 feat: [#979] permanent keys (Jose Celano)
    8d3fe72 chore(deps): [#979] add new cargo dep: serde_with (Jose Celano)
    
    Pull request description:
    
      This PR introduces a new feature. Tracker keys can be permanent.
    
      ### How to use the endpoint
    
      #### Upload a pre-generated and expiring key
    
      ```
      curl -X POST http://localhost:1212/api/v1/keys?token=MyAccessToken \
           -H "Content-Type: application/json" \
           -d '{
              "key": "Xc1L4PbQJSFGlrgSRZl8wxSFAuMa2110",
                 "seconds_valid": 7200
               }'
      ```
    
      #### Upload a pre-generated and permanent key
    
      ```
      curl -X POST http://localhost:1212/api/v1/keys?token=MyAccessToken \
           -H "Content-Type: application/json" \
           -d '{
              "key": "Xc1L4PbQJSFGlrgSRZl8wxSFAuMa2110",
                 "seconds_valid": null
               }'
      ```
    
      #### Generate a random and expiring key
    
      You can omit the key, and the tracker will generate a random one.
    
      ```
      curl -X POST http://localhost:1212/api/v1/keys?token=MyAccessToken \
           -H "Content-Type: application/json" \
           -d '{
              "key": null,
                 "seconds_valid": 7200
               }'
      ```
    
      #### Generate a random and permanent key
    
      ```
      curl -X POST http://localhost:1212/api/v1/keys?token=MyAccessToken \
           -H "Content-Type: application/json" \
           -d '{
              "key": null,
                 "seconds_valid": null
               }'
      ```
    
      ### NOTES
    
      - Fields in the json object are mandatory. You cannot omit them. Instead of omitting the field, I've decided to use the `null` value to represent the case where the value is not needed. I prefer to use always the same structure and make it explicit. However, omitting the field could have other advantages, like requiring less maintenance. For example, if we rename a field (breaking change), that would not affect users who are not using that field.
      - I've introduced manual database migrations. The `second_valid` column in the `keys` table is now nullable (for permanent keys).
    
    ACKs for top commit:
      josecelano:
        ACK c5beff5
    
    Tree-SHA512: 3680165af0f6269eab88144aa116c7aa1d3d73d5d1322f3e18ff25e7dff10de7bc6bc3cb34bcf7b36df6f9fb8d50c6cccad4bb1c10e2cecc5abdc6a102d20a8b
    josecelano committed Aug 1, 2024
    Configuration menu
    Copy the full SHA
    680f642 View commit details
    Browse the repository at this point in the history
  2. feat: [#978] add a config option to disable cheking keys' expiration

    When the tracker is running in private mode you can disable checking
    keys' expiration in the configuration with:
    
    ```toml
    [core]
    private = false
    
    [core.private_mode]
    check_keys_expiration = true
    ```
    
    All keys will be valid as long as they exist in the database.
    josecelano committed Aug 1, 2024
    Configuration menu
    Copy the full SHA
    e8e935c View commit details
    Browse the repository at this point in the history
  3. feat: [#978] add semantic validation for configuration

    The section [core.provate_mode] can be inlcuded in the configration TOML
    file only if the tracker is running in private mode (`private = true`).
    
    This commits adds that validation and makes it possible to add more
    semantic validations in the future.
    
    Semantic validations are validations that depend on more than one value.
    Like the one added, it could be any other incompatible combination.
    josecelano committed Aug 1, 2024
    Configuration menu
    Copy the full SHA
    d7dfc3b View commit details
    Browse the repository at this point in the history
  4. Merge #988: Overhaul tracker keys: option to disable auth key expiration

    d7dfc3b feat: [#978] add semantic validation for configuration (Jose Celano)
    e8e935c feat: [#978] add a config option to disable cheking keys' expiration (Jose Celano)
    
    Pull request description:
    
      When the tracker is running in private mode you can disable checking keys' expiration in the configuration with:
    
      ```toml
      [core]
      private = false
    
      [core.private_mode]
      check_keys_expiration = false
      ```
    
      All keys will be valid as long as they exist in the database.
    
    ACKs for top commit:
      josecelano:
        ACK d7dfc3b
    
    Tree-SHA512: 0605a43f2c9962efece92327261c2cc7448a35e8961260b14164162408288d87e7055ba1764778ba94d1849f575fe7110328d95830f8a5fa8ea062d186a52066
    josecelano committed Aug 1, 2024
    Configuration menu
    Copy the full SHA
    e00feef View commit details
    Browse the repository at this point in the history
  5. refactor: make method private

    It was public becuase it was being used in a test but it can be used the
    `authenticate` method instead.
    josecelano committed Aug 1, 2024
    Configuration menu
    Copy the full SHA
    8d58882 View commit details
    Browse the repository at this point in the history
  6. test: [#989] add more tests for keys

    There are four ways of adding keys to the tracker. One for each combination of:
    
    - Expiring or permanent key.
    - Pre-generated (uploaded) ot randomdly generated key.
    
    This commit adds new tests for each case.
    josecelano committed Aug 1, 2024
    Configuration menu
    Copy the full SHA
    349692b View commit details
    Browse the repository at this point in the history
  7. Merge #990: Overhaul tracker keys: add more tests

    349692b test: [#989] add more tests for keys (Jose Celano)
    8d58882 refactor: make method private (Jose Celano)
    
    Pull request description:
    
      There are four ways of adding keys to the tracker. One for each combination of:
    
      - Expiring or permanent key.
      - Pre-generated (uploaded) or randomly generated key.
    
      This PR adds new tests for each case.
    
    ACKs for top commit:
      josecelano:
        ACK 349692b
    
    Tree-SHA512: 16f133254000a9b2caaa25ba335447a98cee0c9763c700fc430788cf55b73cb102d47adbf0f329d21e7c584686312c2e1ae724af37fa00475d8f28c88cb270c0
    josecelano committed Aug 1, 2024
    Configuration menu
    Copy the full SHA
    d47ff21 View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2024

  1. feat!: [#958] improve metadata in config files

    The metadata section in the configuration file is changed:
    
    TOML:
    
    ```toml
    [metadata]
    app = "torrust-tracker"
    purpose = "configuration"
    schema_version = "2.0.0"
    ```
    
    JSON:
    
    ```json
    {
      "metadata": {
        "app": "torrust-tracker",
        "purpose": "configuration",
        "version": "2.0.0"
      }
    }
    ```
    
    - `app`: the applications this config file is used for.
    - `purpose`: the purpose of the file containing these metadata.
    - `schema_version`: the schema version for the file being parsed.
    josecelano committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    287e484 View commit details
    Browse the repository at this point in the history
  2. Merge #991: Config overhaul: use an explicit section for metadata

    287e484 feat!: [#958] improve metadata in config files (Jose Celano)
    
    Pull request description:
    
      The metadata section in the configuration file is changed:
    
      TOML:
    
      ```toml
      [metadata]
      app = "torrust-tracker"
      purpose = "configuration"
      schema_version = "2.0.0"
      ```
    
      JSON:
    
      ```json
      {
        "metadata": {
          "app": "torrust-tracker",
          "purpose": "configuration",
          "version": "2.0.0"
        }
      }
      ```
    
      - `app`: the application this config file is used for.
      - `purpose`: the purpose of the file containing these metadata.
      - `schema_version`: the schema version for the file being parsed.
    
    ACKs for top commit:
      josecelano:
        ACK 287e484
    
    Tree-SHA512: 86ee59ddb7a76fee24289d1ea801e7d7e492f5c265d2b6569b0aecc368f3d97d3c7463cf0ebf9fafe16827e8008409c57a994608add2afee97514adf91203746
    josecelano committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    f95b16a View commit details
    Browse the repository at this point in the history
  3. feat!: [#938] add mandatory config options

    Some configuration options are mandatory. The tracker will panic if the user doesn't provide an explicit value for them from one of the configuration sources: TOML or ENV VARS.
    
    The mandatory options are:
    
    ```toml
    [metadata]
    schema_version = "2.0.0"
    
    [logging]
    threshold = "info"
    
    [core]
    private = false
    listed = false
    ```
    josecelano committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    90ef14d View commit details
    Browse the repository at this point in the history
  4. Merge #992: Config overhaul: make some fields mandatory

    90ef14d feat!: [#938] add mandatory config options (Jose Celano)
    
    Pull request description:
    
      Some configuration options are mandatory. The tracker will panic if the user doesn't provide an explicit value for them from one of the configuration sources: TOML or ENV VARS.
    
      The mandatory options are:
    
      ```toml
      [metadata]
      schema_version = "2.0.0"
    
      [logging]
      threshold = "info"
    
      [core]
      private = false
      listed = false
      ```
    
    ACKs for top commit:
      josecelano:
        ACK 90ef14d
    
    Tree-SHA512: 428d599f81842e97335e771a7aa99f88b5f885b7f0026c1883a21b0cbddb4afca9e255aa7cfba637f3e9b3ddeb1c5314a832bb072df7ca21ff73be068d4814d8
    josecelano committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    1ca90ad View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2024

  1. chore(deps): update dependencies

    ```output
    cargo update
        Updating crates.io index
         Locking 35 packages to latest compatible versions
          Adding aws-lc-rs v1.8.1
          Adding aws-lc-sys v0.20.1
        Updating axum-server v0.6.0 -> v0.7.1
        Updating bytemuck v1.16.1 -> v1.16.3
        Updating bytes v1.6.1 -> v1.7.1
        Updating cc v1.1.6 -> v1.1.7
        Updating clap v4.5.11 -> v4.5.13
        Updating clap_builder v4.5.11 -> v4.5.13
        Updating clap_derive v4.5.11 -> v4.5.13
          Adding dunce v1.0.5
        Updating flate2 v1.0.30 -> v1.0.31
          Adding fs_extra v1.3.0
          Adding home v0.5.9
        Updating indexmap v2.2.6 -> v2.3.0
        Updating lru v0.12.3 -> v0.12.4
          Adding mirai-annotations v1.12.0
          Adding paste v1.0.15
        Updating ppv-lite86 v0.2.17 -> v0.2.20
          Adding prettyplease v0.2.20
        Updating regex v1.10.5 -> v1.10.6
        Updating rstest v0.21.0 -> v0.22.0
        Updating rstest_macros v0.21.0 -> v0.22.0
        Removing rustls v0.21.12
        Updating rustls-pemfile v2.1.2 -> v2.1.3
        Removing rustls-webpki v0.101.7
        Removing sct v0.7.1
        Updating serde_json v1.0.121 -> v1.0.122
        Updating tempfile v3.10.1 -> v3.11.0
        Removing tokio-rustls v0.24.1
        Updating toml v0.8.16 -> v0.8.19
        Updating toml_datetime v0.6.7 -> v0.6.8
        Updating toml_edit v0.22.17 -> v0.22.20
          Adding which v4.4.2 (latest: v6.0.2)
        Updating winapi-util v0.1.8 -> v0.1.9
          Adding windows-sys v0.59.0
        Updating winnow v0.6.16 -> v0.6.18
          Adding zeroize_derive v1.4.2
        Updating zstd-safe v7.2.0 -> v7.2.1
        Updating zstd-sys v2.0.12+zstd.1.5.6 -> v2.0.13+zstd.1.5.6
    ```
    josecelano committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    7c62645 View commit details
    Browse the repository at this point in the history
  2. Merge #995: Update dependencies

    7c62645 chore(deps): update dependencies (Jose Celano)
    
    Pull request description:
    
      ```output
      cargo update
          Updating crates.io index
           Locking 35 packages to latest compatible versions
            Adding aws-lc-rs v1.8.1
            Adding aws-lc-sys v0.20.1
          Updating axum-server v0.6.0 -> v0.7.1
          Updating bytemuck v1.16.1 -> v1.16.3
          Updating bytes v1.6.1 -> v1.7.1
          Updating cc v1.1.6 -> v1.1.7
          Updating clap v4.5.11 -> v4.5.13
          Updating clap_builder v4.5.11 -> v4.5.13
          Updating clap_derive v4.5.11 -> v4.5.13
            Adding dunce v1.0.5
          Updating flate2 v1.0.30 -> v1.0.31
            Adding fs_extra v1.3.0
            Adding home v0.5.9
          Updating indexmap v2.2.6 -> v2.3.0
          Updating lru v0.12.3 -> v0.12.4
            Adding mirai-annotations v1.12.0
            Adding paste v1.0.15
          Updating ppv-lite86 v0.2.17 -> v0.2.20
            Adding prettyplease v0.2.20
          Updating regex v1.10.5 -> v1.10.6
          Updating rstest v0.21.0 -> v0.22.0
          Updating rstest_macros v0.21.0 -> v0.22.0
          Removing rustls v0.21.12
          Updating rustls-pemfile v2.1.2 -> v2.1.3
          Removing rustls-webpki v0.101.7
          Removing sct v0.7.1
          Updating serde_json v1.0.121 -> v1.0.122
          Updating tempfile v3.10.1 -> v3.11.0
          Removing tokio-rustls v0.24.1
          Updating toml v0.8.16 -> v0.8.19
          Updating toml_datetime v0.6.7 -> v0.6.8
          Updating toml_edit v0.22.17 -> v0.22.20
            Adding which v4.4.2 (latest: v6.0.2)
          Updating winapi-util v0.1.8 -> v0.1.9
            Adding windows-sys v0.59.0
          Updating winnow v0.6.16 -> v0.6.18
            Adding zeroize_derive v1.4.2
          Updating zstd-safe v7.2.0 -> v7.2.1
          Updating zstd-sys v2.0.12+zstd.1.5.6 -> v2.0.13+zstd.1.5.6
      ```
    
    ACKs for top commit:
      josecelano:
        ACK 7c62645
    
    Tree-SHA512: 23d783ba4f9af3c8de6b6d0a311dd0fa2f292419d8bce00ad503521e4fb39cf8fe3fabc6339c573a16bb40592efef96cf0f1ba942f01f75391ad892253880fd0
    josecelano committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    e40e75d View commit details
    Browse the repository at this point in the history
  3. docs: update roadmap in README

    Permanent keys have been already implemented.
    josecelano committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    5939b9a View commit details
    Browse the repository at this point in the history
  4. Merge #996: docs: update roadmap in README

    5939b9a docs: update roadmap in README (Jose Celano)
    
    Pull request description:
    
      Remove the "Permanent keys" feature from the roadmap. They have already been implemented.
    
    ACKs for top commit:
      josecelano:
        ACK 5939b9a
    
    Tree-SHA512: 7cf0f7b088b729f9b1648f2b23e6db9fa385b9bb0c7582a86f3199c6140d2796d0d490afe5d74866358190aaed6af07f190d4153d3e20147cc82b156f7b2d236
    josecelano committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    0a04dde View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2024

  1. feat: disable TimeoutAcceptor when TSL is enabled

    The TimeoutAcceptor es a custom acceptor for Axum that sets a timeput
    for making a request after openning a connection.
    
    It does not work when TSL is enabled.
    
    This commit disables it, therefore the app does not have any way to
    avoid a DDos attacks where clients just open connections without making
    any request.
    josecelano committed Aug 7, 2024
    Configuration menu
    Copy the full SHA
    222fa42 View commit details
    Browse the repository at this point in the history
  2. Merge #954: Disable TimeoutAcceptor when TSL is enabled

    222fa42 feat: disable TimeoutAcceptor when TSL is enabled (Jose Celano)
    
    Pull request description:
    
      The TimeoutAcceptor es a custom acceptor for Axum that sets a timeput for making a request after openning a connection.
    
      It does not work when TSL is enabled.
    
      This commit disables it, therefore the app does not have any way to avoid a DDos attacks where clients just open connections without making any request.
    
    ACKs for top commit:
      josecelano:
        ACK 222fa42
    
    Tree-SHA512: 0c9a01757f8683f19553ba332551103598c0d0483e3ec6ba1bae1e703acae84442c765883f7406bdb886bdeb5872780336d75450736350e7ce9d859e9943e0bb
    josecelano committed Aug 7, 2024
    Configuration menu
    Copy the full SHA
    7ac1556 View commit details
    Browse the repository at this point in the history

Commits on Aug 8, 2024

  1. fix: benchmarking config template

    - Missing [core.tracker_policy] section. Configuration was changed.
    - Missing database config. Needed when the default DB folder does not
      exist. With this config storage folder is not needed. WE are not using
    DB which required DB for benchmarking.
    josecelano committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    e563bfb View commit details
    Browse the repository at this point in the history
  2. Merge #1001: fix: benchmarking config template

    e563bfb fix: benchmarking config template (Jose Celano)
    
    Pull request description:
    
      Fix benchmarking config template:
    
      - Missing [core.tracker_policy] section. The configuration was changed.
      - Missing database config. Needed when the default DB folder does not exist. With this config, a storage folder is not needed. We are not using DB, which requires DB for benchmarking.
    
    ACKs for top commit:
      josecelano:
        ACK e563bfb
    
    Tree-SHA512: ca8e73e4416fd0f4af74f6b8c10987d8ed4d5b19b73dad1273af98c97796f93027b34e98827b6d65f9a6c9e171ce64c8b63ae70245c3a2b9535eddf5be3a2cbc
    josecelano committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    bd5f4e8 View commit details
    Browse the repository at this point in the history
  3. feat: [#1002] remove inactive peers always

    even when `remove_peerless_torrents` is disabled.
    
    We should remove peer that haven't announce otherwise we are returning
    inactive peers to the clients. That does not affect keeping the torrents
    even if they don't have any peer.
    josecelano committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    1766587 View commit details
    Browse the repository at this point in the history
  4. refactor: [#1002] rename is_good fn to meets_retaining_policy

    A "good" torrent means it should be retained in the repository according
    to the tracker policy. It should not be removed (even if it does not
    have any peers).
    josecelano committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    3fbab31 View commit details
    Browse the repository at this point in the history
  5. Merge #1003: Fix bug: the tracker should always remove inactive peers

    3fbab31 refactor: [#1002] rename is_good fn to meets_retaining_policy (Jose Celano)
    1766587 feat: [#1002] remove inactive peers always (Jose Celano)
    
    Pull request description:
    
      **Fix bug:** the tracker should always remove inactive peers even when the config option `core.tracker_policy.remove_peerless_torrents` is disabled.
    
      **Refactor:** rename the `is_good` function to `meets_retaining_policy` to be more specific.
    
    ACKs for top commit:
      josecelano:
        ACK 3fbab31
    
    Tree-SHA512: 765124c224e5328c3820417e7b1d53bcac4171bb5b7afb26c9c6bcf26c9792166502dde8381b22396924531bfe5f2b213f6be58ac20548fee3c872231861649e
    josecelano committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    eaa86a7 View commit details
    Browse the repository at this point in the history

Commits on Aug 12, 2024

  1. Configuration menu
    Copy the full SHA
    f5e38bb View commit details
    Browse the repository at this point in the history
  2. fix: linter errors

    josecelano committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    6a707b9 View commit details
    Browse the repository at this point in the history
  3. Merge #1007: Remove default configuration values for secrets

    6a707b9 fix: linter errors (Jose Celano)
    f5e38bb feat!: [#1006] remove config  deafults for secrets (Jose Celano)
    
    Pull request description:
    
      Remove default configuration values for secrets. To avoid running the tracker unintentionally with known values.
    
    ACKs for top commit:
      josecelano:
        ACK 6a707b9
    
    Tree-SHA512: 4360ad36f97afcc21307d2f945ca73dc40ef08a96406c40ac4b9e856756e1b3ca0464b99e34b6843013bfb393d46ede618d49c000fdb386829a450b61d6e44f0
    josecelano committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    f6bbcf5 View commit details
    Browse the repository at this point in the history
  4. chore(deps): update dependencies

    ```console
    cargo update
        Updating crates.io index
         Locking 16 packages to latest compatible versions
        Updating async-io v2.3.3 -> v2.3.4
        Updating cc v1.1.7 -> v1.1.10
        Updating clap v4.5.13 -> v4.5.15
        Updating clap_builder v4.5.13 -> v4.5.15
        Updating core-foundation-sys v0.8.6 -> v0.8.7
        Updating hyper-util v0.1.6 -> v0.1.7
        Updating mio v1.0.1 -> v1.0.2
        Updating object v0.36.2 -> v0.36.3
        Updating piper v0.2.3 -> v0.2.4
        Updating polling v3.7.2 -> v3.7.3
        Updating rustls-pki-types v1.7.0 -> v1.8.0
        Updating serde v1.0.204 -> v1.0.206
        Updating serde_derive v1.0.204 -> v1.0.206
        Updating serde_json v1.0.122 -> v1.0.124
        Updating syn v2.0.72 -> v2.0.74
        Updating tempfile v3.11.0 -> v3.12.0
    ```
    josecelano committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    62ffffb View commit details
    Browse the repository at this point in the history
  5. Merge #1008: Update dependencies

    62ffffb chore(deps): update dependencies (Jose Celano)
    
    Pull request description:
    
      Update dependencies:
    
      ```console
      cargo update
          Updating crates.io index
           Locking 16 packages to latest compatible versions
          Updating async-io v2.3.3 -> v2.3.4
          Updating cc v1.1.7 -> v1.1.10
          Updating clap v4.5.13 -> v4.5.15
          Updating clap_builder v4.5.13 -> v4.5.15
          Updating core-foundation-sys v0.8.6 -> v0.8.7
          Updating hyper-util v0.1.6 -> v0.1.7
          Updating mio v1.0.1 -> v1.0.2
          Updating object v0.36.2 -> v0.36.3
          Updating piper v0.2.3 -> v0.2.4
          Updating polling v3.7.2 -> v3.7.3
          Updating rustls-pki-types v1.7.0 -> v1.8.0
          Updating serde v1.0.204 -> v1.0.206
          Updating serde_derive v1.0.204 -> v1.0.206
          Updating serde_json v1.0.122 -> v1.0.124
          Updating syn v2.0.72 -> v2.0.74
          Updating tempfile v3.11.0 -> v3.12.0
      ```
    
    ACKs for top commit:
      josecelano:
        ACK 62ffffb
    
    Tree-SHA512: cae2b0c44238998fa5acfc43b6f930ac89a8e242fc54ddd075628431bca69bf4debcb27241fd59a21b282bdc559e0d8fe13bd70d3d965afd4d7929c833a3449d
    josecelano committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    acb860f View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    1455295 View commit details
    Browse the repository at this point in the history
  7. Merge #1011: Fix missing publishing packages

    1455295 ci: [#1010] fix missing publishing packages (Jose Celano)
    
    Pull request description:
    
      Fix missing publishing packages.
    
    ACKs for top commit:
      josecelano:
        ACK 1455295
    
    Tree-SHA512: 75a6700aaebaae0b1592143d265833e38acef80c618862fbaae106c80d4a8367569cffdd325eda42edac5578aaa77fc9da9ba6f8dc15e52f5e1fda0d21e9d557
    josecelano committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    05b6cc8 View commit details
    Browse the repository at this point in the history

Commits on Aug 13, 2024

  1. Configuration menu
    Copy the full SHA
    592c9cc View commit details
    Browse the repository at this point in the history