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

VER: Release 0.18.0 #50

Merged
merged 23 commits into from
May 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
722723b
DOC: Add links to example usage
threecgreen Apr 3, 2024
16cc4cd
MOD: Update for `BorrowedFormatItem` rename
threecgreen Apr 10, 2024
bef57a6
REF: Move common DBN dependencies to workspace
threecgreen Apr 15, 2024
1aad9a8
ADD: Add instrument class helper methods
threecgreen Apr 16, 2024
e523041
MOD: Upgrade to pyo3 0.21
threecgreen Apr 15, 2024
304bea5
DOC: Standardize flags field description
cjdsellers Apr 18, 2024
b223661
MOD: Add methods to `AsyncDynReader`
threecgreen Apr 24, 2024
ec5dafd
MOD: Improve flags in DBN
threecgreen Apr 22, 2024
847932e
MOD: Improve FlagSet in C++
threecgreen Apr 25, 2024
382b965
MOD: Upgrade pyo3 version
threecgreen Apr 29, 2024
39e734b
MOD: Switch to FallibleStreamingIterator
threecgreen May 2, 2024
5067548
FIX: Fix stypes when upgrading SymbolMappingMsgV1
threecgreen May 2, 2024
12042b9
MOD: Update compiler error output
threecgreen May 2, 2024
468a73b
DOC: Mention units in display_factor documentation
threecgreen May 3, 2024
3b43027
ADD: Create custom Python exception for Rust code
threecgreen May 3, 2024
3507858
DOC: Update release dates in changelog
May 14, 2024
4b5a05e
VER: Release 0.18.0
nmacholl May 14, 2024
fd94e72
BLD: Use stable Rust for DBN build
threecgreen May 15, 2024
5caf4dc
OPT: Optimize async file decoding
threecgreen May 9, 2024
a798787
ADD: Add missing ts_in_delta method for StatMsg
threecgreen May 17, 2024
ace310c
MOD: Modify display of definition fields
threecgreen Apr 9, 2024
89a492f
MOD: Rename `CbboMsg` to `CBBOMsg` in Python
threecgreen May 20, 2024
e9226da
VER: Release 0.18.0
threecgreen May 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 21 additions & 10 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,13 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
components: rustfmt, clippy

# Cargo setup
- name: Set up Cargo cache
uses: actions/cache@v4
Expand All @@ -43,9 +50,6 @@ jobs:
target: x86_64
args: --release --out dist --manifest-path python/Cargo.toml --interpreter python${{ matrix.python-version }}

- name: Install clippy and rustfmt
run: rustup component add clippy rustfmt
shell: bash
- name: Format
run: scripts/format.sh
shell: bash
Expand All @@ -71,6 +75,13 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
components: rustfmt, clippy

# Cargo setup
- name: Set up Cargo cache
uses: actions/cache@v4
Expand All @@ -94,9 +105,6 @@ jobs:
manylinux: auto
args: --release --out dist --manifest-path python/Cargo.toml --interpreter python${{ matrix.python-version }}

- name: Install clippy and rustfmt
run: rustup component add clippy rustfmt
shell: bash
- name: Format
run: scripts/format.sh
- name: Build
Expand All @@ -118,6 +126,13 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
components: rustfmt, clippy

# Cargo setup
- name: Set up Cargo cache
uses: actions/cache@v4
Expand All @@ -133,7 +148,6 @@ jobs:
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
architecture: x64

- name: Build wheels - x86_64
uses: messense/maturin-action@v1
Expand All @@ -146,9 +160,6 @@ jobs:
with:
args: --release --target universal2-apple-darwin --out dist --manifest-path python/Cargo.toml --interpreter python${{ matrix.python-version }}

- name: Install clippy and rustfmt
run: rustup component add clippy rustfmt
shell: bash
- name: Format
run: scripts/format.sh
- name: Build
Expand Down
57 changes: 35 additions & 22 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,28 +22,6 @@ jobs:
with:
fetch-depth: 2

# Cargo setup
- name: Set up Cargo cache
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-x86_64-cargo-${{ hashFiles('Cargo.lock') }}

# Python setup
- name: Set up Python environment
uses: actions/setup-python@v5
with:
python-version: "3.12"

# Tag the commit with the library version
- name: Create git tag
uses: salsify/action-detect-and-tag-new-version@v2
with:
version-command: scripts/get_version.sh

# Set release output variables
- name: Set output
id: vars
Expand Down Expand Up @@ -75,6 +53,13 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
components: rustfmt, clippy

# Cargo setup
- name: Set up Cargo cache
uses: actions/cache@v4
Expand Down Expand Up @@ -120,6 +105,13 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
components: rustfmt, clippy

# Cargo setup
- name: Set up Cargo cache
uses: actions/cache@v4
Expand Down Expand Up @@ -161,6 +153,13 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
components: rustfmt, clippy

# Cargo setup
- name: Set up Cargo cache
uses: actions/cache@v4
Expand Down Expand Up @@ -202,6 +201,13 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
components: rustfmt, clippy

# Cargo setup
- name: Set up Cargo cache
uses: actions/cache@v4
Expand Down Expand Up @@ -279,6 +285,13 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
components: rustfmt, clippy

# Cargo setup
- name: Set up Cargo cache
uses: actions/cache@v4
Expand Down
44 changes: 41 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,45 @@
# Changelog

## 0.17.1 - 2024-04-04
## 0.18.0 - 2024-05-21

### Enhancements
- Added links to example usage in documentation
- Added new predicate methods `InstrumentClass::is_option`, `is_future`, and `is_spread`
to make it easier to work with multiple instrument class variants
- Implemented `DecodeRecord` for `DbnRecordDecoder`
- Added `new_inferred`, `with_buffer`, `inferred_with_buffer`, `from_file`, `get_mut`,
and `get_ref` methods to `AsyncDynReader` for parity with the sync `DynReader`
- Improved documentation enumerating errors returned by functions
- Added new `DBNError` Python exception that's now the primary exception raised by
`databento_dbn`
- Improved async performance of decoding DBN files
- Added `StatMsg::ts_in_delta()` method that returns a `time::Duration` for consistency
with other records with a `ts_in_delta` field

### Breaking changes
- Changed type of `flags` in `MboMsg`, `TradeMsg`, `Mbp1Msg`, `Mbp10Msg`, and `CbboMsg`
from `u8` to a new `FlagSet` type with predicate methods for the various bit flags
as well as setters. The `u8` value can still be obtained by calling the `raw()` method.
- Improved `Debug` formatting
- Python and encodings are unaffected
- Removed `write_dbn_file` function deprecated in version 0.14.0 from Python interface.
Please use `Transcoder` instead
- Switched `DecodeStream` from `streaming_iterator` crate to `fallible_streaming_iterator`
to allow better notification of errors
- Switched `EncodeDbn::encode_stream` from accepting an `impl StreamingIterator` to
accepting an `FallibleStreamingIterator` to allow bubbling up of decoding errors
- Changed default value for `stype_in` and `stype_out` in `SymbolMappingMsg` to
`u8::MAX` to match C++ client and to reflect an unknown value. This also changes the
value of these fields when upgrading a `SymbolMappingMsgV1` to DBNv2
- Renamed `CbboMsg` to `CBBOMsg` in Python for consistency with other schemas

### Breaking changes
- Changed text serialization of `display_factor` to be affected by `pretty_px`.
While it's not a price, it uses the same fixed-price decimal format as other prices
- Changed text serialization of `unit_of_measure_qty` in `InstrumentDefMsgV1` to be
affected by `pretty_px` to match behavior of `InstrumentDefMsgV2`

## 0.17.1 - 2024-04-04
### Bug fixes
- Added missing Python type stub for `StatusMsg`

Expand Down Expand Up @@ -65,8 +103,8 @@
`DBNDecoder` to `Upgrade` so by default the primary record types can always be used
- Changed fields of previously-hidden `StatusMsg` record type
- Updated text serialization order of status schema to match other schemas
- Changed text serialization `unit_of_measure_qty` to be affected by `pretty_px`. While
it's not a price, it uses the same fixed-price decimal format as other prices
- Changed text serialization of `unit_of_measure_qty` to be affected by `pretty_px`.
While it's not a price, it uses the same fixed-price decimal format as other prices
- Made `StatType` and `VersionUpgradePolicy` non-exhaustive to allow future additions
without breaking changes
- Renamed `_dummy` field in `ImbalanceMsg` and `StatMsg` to `_reserved`
Expand Down
Loading
Loading