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

add go version support policy #260

Merged
merged 9 commits into from
Aug 2, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
7 changes: 2 additions & 5 deletions .github/workflows/go.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,17 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
version: [stable, oldstable]
steps:
- name: Set up Go 1.x
uses: actions/setup-go@v4
with:
go-version: stable
go-version: ${{ matrix.version }}
id: go

- name: Check out code into the Go module directory
uses: actions/checkout@v2

- name: Install make (Windows)
if: runner.os == 'Windows'
run: choco install -y make mingw

- name: Check
if: runner.os == 'Linux'
run: make check
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
- name: Set up Go 1.x
uses: actions/setup-go@v4
with:
go-version: stable
go-version: oldstable
id: go

- name: Check out code into the Go module directory
Expand Down Expand Up @@ -64,7 +64,7 @@ jobs:
- name: Set up Go 1.x
uses: actions/setup-go@v4
with:
go-version: stable
go-version: oldstable
id: go

- name: Check out code into the Go module directory
Expand Down Expand Up @@ -132,7 +132,7 @@ jobs:
- name: Set up Go 1.x
uses: actions/setup-go@v4
with:
go-version: stable
go-version: oldstable
id: go

- name: Check out code into the Go module directory
Expand Down
32 changes: 28 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,13 @@ ISO8583 implements an ISO 8583 message reader and writer in Go. ISO 8583 is an i

- [Project status](#project-status)
- [Go module](#go-library)
- [Go version support policy](#go-version-support-policy)
- [How to](#how-to)
- [Define specification](#define-your-specification)
- [Build message](#build-and-pack-the-message)
- [Parse message](#parse-the-message-and-access-the-data)
- [Inspect message fields](#inspect-message-fields)
- [JSON encoding](#json-encoding)
- [Network header](#network-header)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed Network header from TOC. In the next releases, I want to move them from iso8583 into iso8583-connection as they don't belong here.

- [Encode/Decode from/to JSON](#json-encoding)
- [ISO8583 CLI](#cli)
- [Learn about ISO 8583](#learn-about-iso-8583)
- [Getting help](#getting-help)
Expand All @@ -44,18 +45,41 @@ ISO8583 implements an ISO 8583 message reader and writer in Go. ISO 8583 is an i

## Project status

Moov ISO8583 currently offers a Go package with plans for an API in the near future. Please star the project if you are interested in its progress. The project supports generating and parsing ISO8583 messages. Feedback on this early version of the project is appreciated and vital to its success. Please let us know if you encounter any bugs/unclear documentation or have feature suggestions by opening up an issue. Thanks!
Moov ISO8583 is a Go package that's been **thoroughly tested and trusted in the real world**. The project has proven its reliability and robustness in real-world, high-stakes scenarios. Please let us know if you encounter any missing feature/bugs/unclear documentation by opening up [an issue](https://github.com/moov-io/iso8583/issues/new). Thanks!

## Go library

This project uses [Go Modules](https://go.dev/blog/using-go-modules) and Go v1.18 or newer. See [Golang's install instructions](https://golang.org/doc/install) for help in setting up Go. You can download the source code and we offer [tagged and released versions](https://github.com/moov-io/iso8583/releases/latest) as well. We highly recommend you use a tagged release for production.
This project uses [Go Modules](https://go.dev/blog/using-go-modules). See [Golang's install instructions](https://golang.org/doc/install) for help in setting up Go. You can download the source code and we offer [tagged and released versions](https://github.com/moov-io/iso8583/releases/latest) as well. We highly recommend you use a tagged release for production.

## Go version support policy

### Always up-to-date, never left behind

While we strive to embrace the latest language enhancements, we also appreciate the need for a certain degree of backward compatibility. We understand that not everyone can update to the latest version immediately. Our philosophy is to move forward and embrace the new, but without leaving anyone immediately behind.

#### Which versions do we support now?

As of today, we are supporting:

1. Go 1.20 (current version)
2. Go 1.19 (previous version)
alovak marked this conversation as resolved.
Show resolved Hide resolved

#### What does this mean for you?

Whenever a new version of Go is released, we will update our systems and ensure that our project remains fully compatible with it. At the same time, we will continue to support the previous version. However, once a new version is released, the 'previous previous' version will no longer be officially supported.

#### Continuous integration

To ensure our promise of support for these versions, we've configured our GitHub CI actions to test our code with both the current and previous versions of Go. This means you can feel confident that the project will work as expected if you're using either of these versions.

### Installation

```
go get github.com/moov-io/iso8583
```

## How to

adamdecaf marked this conversation as resolved.
Show resolved Hide resolved
### Define your specification

Currently, we have defined the following ISO 8583 specifications:
Expand Down
Loading