Skip to content

Commit

Permalink
feat: bump versions
Browse files Browse the repository at this point in the history
  • Loading branch information
QEDK committed Jan 2, 2024
1 parent f075f42 commit 03163a1
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 18 deletions.
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,5 +86,13 @@
- **BREAKING** Added Python-esque support for `:` as a delimiter.
- :new: Add support for case-sensitive maps with automatic handling under the hood.
- :hammer: Fixed buggy setters which went uncaught, to preserve case-insensitive nature.
- 2.0.1
- Add first-class support for setting, loading and reading defaults
- New available struct `IniDefault` for fast templating
- 2.1.0
- 😯 **BREAKING** Parse keys with higher priority, both brackets `[` and `]` can be part of values now.
- ℹ Only affects current behaviour **iff** your section headers had comments in front of them like, `comment[HEADER]`, you can fix it by adding the comment after the header like `[HEADER]#comment` or otherwise.
- 🚀 `load()` and `write()` work with `Path`-like arguments now.
- 📜 Add docs for new struct

Older changelogs are preserved here, current changelog is present in [README.md](README.md).
2 changes: 1 addition & 1 deletion LICENSE-LGPL
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2023 QEDK
Copyright (c) 2024 QEDK

GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Expand Down
2 changes: 1 addition & 1 deletion LICENSE-MIT
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2023 QEDK
Copyright (c) 2024 QEDK

Permission is hereby granted, free of charge, to any
person obtaining a copy of this software and associated
Expand Down
26 changes: 11 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# configparser
[![Build Status](https://github.com/QEDK/configparser-rs/actions/workflows/rust.yaml/badge.svg)](https://github.com/QEDK/configparser-rs/actions/workflows/rust.yaml) [![Crates.io](https://img.shields.io/crates/l/configparser?color=black)](LICENSE-MIT) [![Crates.io](https://img.shields.io/crates/v/configparser?color=black)](https://crates.io/crates/configparser) [![Released API docs](https://docs.rs/configparser/badge.svg)](https://docs.rs/configparser) [![Maintenance](https://img.shields.io/maintenance/yes/2023)](https://github.com/QEDK/configparser-rs)
[![Build Status](https://github.com/QEDK/configparser-rs/actions/workflows/rust.yaml/badge.svg)](https://github.com/QEDK/configparser-rs/actions/workflows/rust.yaml) [![Crates.io](https://img.shields.io/crates/l/configparser?color=black)](LICENSE-MIT) [![Crates.io](https://img.shields.io/crates/v/configparser?color=black)](https://crates.io/crates/configparser) [![Released API docs](https://docs.rs/configparser/badge.svg)](https://docs.rs/configparser) [![Maintenance](https://img.shields.io/maintenance/yes/2024)](https://github.com/QEDK/configparser-rs)

This crate provides the `Ini` struct which implements a basic configuration language which provides a structure similar to what’s found in Windows' `ini` files. You can use this to write Rust programs which can be customized by end users easily.

Expand Down Expand Up @@ -29,7 +29,7 @@ strings as well as files.
You can install this easily via `cargo` by including it in your `Cargo.toml` file like:
```TOML
[dependencies]
configparser = "3.0.3"
configparser = "3.0.4"
```

## ➕ Supported datatypes
Expand Down Expand Up @@ -176,16 +176,16 @@ The `Ini` struct offers great support for type conversion and type setting safel
You can activate it by adding it as a feature like this:
```TOML
[dependencies]
configparser = { version = "3.0.2", features = ["indexmap"] }
configparser = { version = "3.0.4", features = ["indexmap"] }
```

- *async-std*: Activating the `async-std` feature adds asynchronous functions for reading from (`load_async()`) and
writing to (`write_async()`) files using [async-std](https://crates.io/crates/async-std).
- *tokio*: Activating the `tokio` feature adds asynchronous functions for reading from (`load_async()`) and
writing to (`write_async()`) files using [tokio](https://crates.io/crates/tokio).

You can activate it by adding it as a feature like this:
```TOML
[dependencies]
configparser = { version = "3.0.2", features = ["async-std"] }
configparser = { version = "3.0.4", features = ["tokio"] }
```

## 📜 License
Expand All @@ -206,14 +206,6 @@ additional terms or conditions.
## 🆕 Changelog

Old changelogs are in [CHANGELOG.md](CHANGELOG.md).
- 2.0.1
- Add first-class support for setting, loading and reading defaults
- New available struct `IniDefault` for fast templating
- 2.1.0
- 😯 **BREAKING** Parse keys with higher priority, both brackets `[` and `]` can be part of values now.
- ℹ Only affects current behaviour **iff** your section headers had comments in front of them like, `comment[HEADER]`, you can fix it by adding the comment after the header like `[HEADER]#comment` or otherwise.
- 🚀 `load()` and `write()` work with `Path`-like arguments now.
- 📜 Add docs for new struct
- 3.0.0
- 😅 **BREAKING** `IniDefault` is now a non-exhaustive struct, this will make future upgrades easier and non-breaking in nature. This change might also have a few implications in updating your existing codebase, please read the [official docs](https://doc.rust-lang.org/reference/attributes/type_system.html#the-non_exhaustive-attribute) for more guidance.
- `IniDefault` is now internally used for generating defaults, reducing crate size.
Expand All @@ -226,10 +218,14 @@ Old changelogs are in [CHANGELOG.md](CHANGELOG.md).
- Adds support for multi-line key-value pairs.
- Adds `async-std` feature for asynchronous file operations.
- Some performance optimizations.
- 3.0.3 (**STABLE**)
- 3.0.3
- Add default empty line on empty strings.
- Feature to append to existing `Ini` objects.
- Minor lint fixes.
- 3.0.4 (**STABLE**)
- Adds pretty printing functionality
- Replaces `async-std` with `tokio` as the available async runtime
- *The `async-std` feature will be deprecated in a future release*

### 🔜 Future plans

Expand Down
2 changes: 2 additions & 0 deletions src/ini.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ use indexmap::IndexMap as Map;
#[cfg(not(feature = "indexmap"))]
use std::collections::HashMap as Map;

#[deprecated(since = "3.0.4",
note="async-std runtime has been replaced with tokio")]
#[cfg(feature = "async-std")]
#[cfg(feature = "tokio")]
use tokio::fs as async_fs;
Expand Down
2 changes: 1 addition & 1 deletion tests/test.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use configparser::ini::{Ini};
use configparser::ini::{Ini, WriteOptions};
use std::error::Error;

#[test]
Expand Down

0 comments on commit 03163a1

Please sign in to comment.