Skip to content

Commit

Permalink
Release time! (#434)
Browse files Browse the repository at this point in the history
* Bump `console` component
* Bump `dependency_injection` component
* Bump `dotenv` component
* Bump `framework` component
* Bump `spec` component
* Bump `validator` component
  • Loading branch information
Blacksmoke16 authored Jul 31, 2024
1 parent 242c6c9 commit 48478b3
Show file tree
Hide file tree
Showing 20 changed files with 118 additions and 12 deletions.
10 changes: 10 additions & 0 deletions src/components/console/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Changelog

## [0.3.6] - 2024-07-31

### Changed

- **Breaking:** `ACON::Application#getter` and constructor argument must now be a `String` instead of `SemanticVersion` ([#419](https://github.com/athena-framework/athena/pull/419)) (George Dietrich)
- Changed the default `ACON::Application` version to `UNKNOWN` from `0.1.0` ([#419](https://github.com/athena-framework/athena/pull/419)) (George Dietrich)
- List commands in a namespace when using it as the command name ([#427](https://github.com/athena-framework/athena/pull/427)) (George Dietrich)
- Use single quotes in text descriptor to quote values in the output ([#427](https://github.com/athena-framework/athena/pull/427)) (George Dietrich)

## [0.3.5] - 2024-04-09

### Changed
Expand Down Expand Up @@ -121,6 +130,7 @@ _First release a part of the monorepo._

_Initial release._

[0.3.6]: https://github.com/athena-framework/console/releases/tag/v0.3.6
[0.3.5]: https://github.com/athena-framework/console/releases/tag/v0.3.5
[0.3.4]: https://github.com/athena-framework/console/releases/tag/v0.3.4
[0.3.3]: https://github.com/athena-framework/console/releases/tag/v0.3.3
Expand Down
8 changes: 8 additions & 0 deletions src/components/console/UPGRADING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,14 @@

Documents the changes that may be required when upgrading to a newer component version.

## Upgrade to 0.3.6

### `ACON::Application` version is now represented as a `String`

If passing a [SemanticVersion](https://crystal-lang.org/api/SemanticVersion.html) as the *version* of an `ACON::Application`, call `#to_s` on it or ideally pass a semver `String` directly.
If using the `#version` getter off the `ACON::Application`, your code will either need to adapt to it now being a `String`.
Either by manually constructing a `SemanticVersion` or ideally just supporting the returned `String`.

## Upgrade to 0.3.3

### New `ACON::Style::Interface` methods
Expand Down
2 changes: 1 addition & 1 deletion src/components/console/shard.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: athena-console

version: 0.3.5
version: 0.3.6

crystal: ~> 1.11

Expand Down
2 changes: 1 addition & 1 deletion src/components/console/src/athena-console.cr
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ alias ACONA = ACON::Annotations

# Allows the creation of CLI based commands
module Athena::Console
VERSION = "0.3.5"
VERSION = "0.3.6"

# Contains all the `Athena::Console` based annotations.
module Annotations; end
Expand Down
11 changes: 11 additions & 0 deletions src/components/dependency_injection/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# Changelog

## [0.4.1] - 2024-07-31

### Changed

- **Breaking:** single implementation aliases are now explicit ([#408](https://github.com/athena-framework/athena/pull/408)) (George Dietrich)

### Fixed

- Fix default/nil values related to `object_of` and `array_of` being unavailable in bundle extensions ([#432](https://github.com/athena-framework/athena/pull/432)) (George Dietrich)

## [0.4.0] - 2024-04-09

### Changed
Expand Down Expand Up @@ -173,6 +183,7 @@ _Major refactor of the component._

_Initial release._

[0.4.1]: https://github.com/athena-framework/dependency-injection/releases/tag/v0.4.1
[0.4.0]: https://github.com/athena-framework/dependency-injection/releases/tag/v0.4.0
[0.3.8]: https://github.com/athena-framework/dependency-injection/releases/tag/v0.3.8
[0.3.7]: https://github.com/athena-framework/dependency-injection/releases/tag/v0.3.7
Expand Down
38 changes: 38 additions & 0 deletions src/components/dependency_injection/UPGRADING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,44 @@

Documents the changes that may be required when upgrading to a newer component version.

## Upgrade to 0.4.1

### Single implementation aliases are now explicit

Previously if you had a service that implemented an interface (module), that interface would auto resolve to that service if there was only the one implementation.
This implicit aliasing of the interface was removed and now requires an explicit aliasing.

Before:
```crystal
module SomeInterface; end
@[ADI::Register]
class Foo
include SomeInterface
end
@[ADI::Register(public: true)]
record Bar, a : SomeInterface
```

After:
```crystal
module SomeInterface; end
@[ADI::Register]
@[ADI::AsAlias]
class Foo
include SomeInterface
end
@[ADI::Register(public: true)]
record Bar, a : SomeInterface
```

If the service only implements a single interface, you just need to apply the [`@[ADI::AsAlias]`](https://athenaframework.org/DependencyInjection/AsAlias/) annotation to the service.
If it implements more than one interface, you'll need an annotation for each one.
See the API docs for more information on how to use the annotation.

## Upgrade to 0.4.0

_The component went through a large internal refactor as part of this release. Please create an issue or PR if you find a breaking change not captured here._
Expand Down
2 changes: 1 addition & 1 deletion src/components/dependency_injection/shard.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: athena-dependency_injection

version: 0.4.0
version: 0.4.1

crystal: ~> 1.4

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ alias ADI = Athena::DependencyInjection

# Robust dependency injection service container framework.
module Athena::DependencyInjection
VERSION = "0.4.0"
VERSION = "0.4.1"

private BINDINGS = {} of Nil => Nil
private EXTENSIONS = {} of Nil => Nil
Expand Down
7 changes: 7 additions & 0 deletions src/components/dotenv/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Changelog

## [0.1.3] - 2024-07-31

### Changed

- Update minimum `crystal` version to `~> 1.13.0` ([#433](https://github.com/athena-framework/athena/pull/433)) (George Dietrich)

## [0.1.2] - 2024-04-09

### Changed
Expand All @@ -22,6 +28,7 @@ _Administrative release, no functional changes_

_Initial release._

[0.1.3]: https://github.com/athena-framework/dotenv/releases/tag/v0.1.3
[0.1.2]: https://github.com/athena-framework/dotenv/releases/tag/v0.1.2
[0.1.1]: https://github.com/athena-framework/dotenv/releases/tag/v0.1.1
[0.1.0]: https://github.com/athena-framework/dotenv/releases/tag/v0.1.0
2 changes: 1 addition & 1 deletion src/components/dotenv/shard.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: athena-dotenv

version: 0.1.2
version: 0.1.3

crystal: ~> 1.13

Expand Down
2 changes: 1 addition & 1 deletion src/components/dotenv/src/athena-dotenv.cr
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ require "./exceptions/*"
# They can of course continue to be used in production by distributing the base `.env` file along with the binary, then creating a `.env.local` on the production server and including production values within it.
# This can work quite well for simple applications, but ultimately a more robust solution that best leverages the features of the server the application is running on is best.
class Athena::Dotenv
VERSION = "0.1.2"
VERSION = "0.1.3"

private VARNAME_REGEX = /(?i:_?[A-Z][A-Z0-9_]*+)/

Expand Down
18 changes: 18 additions & 0 deletions src/components/framework/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,22 @@
# Changelog

## [0.19.2] - 2024-07-31

### Added

- Add `ATH.run_console` as an easier entrypoint into the console application ([#413](https://github.com/athena-framework/athena/pull/413)) (George Dietrich)
- Add support for additional boolean conversion values from request attributes ([#422](https://github.com/athena-framework/athena/pull/422)) (George Dietrich)

### Changed

- **Breaking:** `ATH::RequestMatcher::Method` now requires an `Array(String)` as opposed to any `Enumerable(String)` ([#431](https://github.com/athena-framework/athena/pull/431)) (George Dietrich)
- Update minimum `crystal` version to `~> 1.13.0` ([#433](https://github.com/athena-framework/athena/pull/433)) (George Dietrich)
- Updates usages of `UTF-8` in response headers to `utf-8` as preferred by the RFC ([#417](https://github.com/athena-framework/athena/pull/417)) (George Dietrich)

### Fixed

- Fix the content negotiation implementation not working ([#431](https://github.com/athena-framework/athena/pull/431)) (George Dietrich)

## [0.19.1] - 2024-04-27

### Fixed
Expand Down Expand Up @@ -170,6 +187,7 @@ _Last release in the [athena-framework/athena](https://github.com/athena-framewo
- Fix incorrect ivar type on `AVD::Exceptions::Exceptions::ValidationFailed#violations` ([#116](https://github.com/athena-framework/athena/pull/116)) (George Dietrich)
- Correctly reject requests with whitespace when converting numeric inputs ([#117](https://github.com/athena-framework/athena/pull/117)) (George Dietrich)

[0.19.2]: https://github.com/athena-framework/framework/releases/tag/v0.19.2
[0.19.1]: https://github.com/athena-framework/framework/releases/tag/v0.19.1
[0.19.0]: https://github.com/athena-framework/framework/releases/tag/v0.19.0
[0.18.2]: https://github.com/athena-framework/framework/releases/tag/v0.18.2
Expand Down
2 changes: 1 addition & 1 deletion src/components/framework/shard.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: athena

version: 0.19.1
version: 0.19.2

crystal: ~> 1.13

Expand Down
2 changes: 1 addition & 1 deletion src/components/framework/src/athena.cr
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ alias ATHA = ATH::Annotations
alias ATHR = ATH::Controller::ValueResolvers

module Athena::Framework
VERSION = "0.19.1"
VERSION = "0.19.2"

# The name of the environment variable used to determine Athena's current environment.
ENV_NAME = "ATHENA_ENV"
Expand Down
7 changes: 7 additions & 0 deletions src/components/spec/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Changelog

## [0.3.8] - 2024-07-31

### Added

- Add support for using the `CRYSTAL` ENV var to customize binary used for `ASPEC::Methods.assert_error` and `ASPEC::Methods.assert_success` ([#424](https://github.com/athena-framework/athena/pull/424)) (George Dietrich)

## [0.3.7] - 2024-04-09

### Changed
Expand Down Expand Up @@ -108,6 +114,7 @@ _First release a part of the monorepo._

_Initial release._

[0.3.8]: https://github.com/athena-framework/spec/releases/tag/v0.3.8
[0.3.7]: https://github.com/athena-framework/spec/releases/tag/v0.3.7
[0.3.6]: https://github.com/athena-framework/spec/releases/tag/v0.3.6
[0.3.5]: https://github.com/athena-framework/spec/releases/tag/v0.3.5
Expand Down
2 changes: 1 addition & 1 deletion src/components/spec/shard.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: athena-spec

version: 0.3.7
version: 0.3.8

crystal: ~> 1.4

Expand Down
2 changes: 1 addition & 1 deletion src/components/spec/src/athena-spec.cr
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ require "./test_case"

# A set of common [Spec](https://crystal-lang.org/api/Spec.html) compliant testing utilities/types.
module Athena::Spec
VERSION = "0.3.7"
VERSION = "0.3.8"

# Runs all `ASPEC::TestCase`s.
#
Expand Down
7 changes: 7 additions & 0 deletions src/components/validator/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Changelog

## [0.3.4] - 2024-07-31

### Changed

- Update minimum `crystal` version to `~> 1.13.0` ([#433](https://github.com/athena-framework/athena/pull/433)) (George Dietrich)

## [0.3.3] - 2024-04-09

### Changed
Expand Down Expand Up @@ -146,6 +152,7 @@ _First release a part of the monorepo._

_Initial release._

[0.3.4]: https://github.com/athena-framework/validator/releases/tag/v0.3.4
[0.3.3]: https://github.com/athena-framework/validator/releases/tag/v0.3.3
[0.3.2]: https://github.com/athena-framework/validator/releases/tag/v0.3.2
[0.3.1]: https://github.com/athena-framework/validator/releases/tag/v0.3.1
Expand Down
2 changes: 1 addition & 1 deletion src/components/validator/shard.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: athena-validator

version: 0.3.3
version: 0.3.4

crystal: ~> 1.13

Expand Down
2 changes: 1 addition & 1 deletion src/components/validator/src/athena-validator.cr
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ module Athena; end

# Provides a robust object/value validation framework.
module Athena::Validator
VERSION = "0.3.3"
VERSION = "0.3.4"

# :nodoc:
#
Expand Down

0 comments on commit 48478b3

Please sign in to comment.