Skip to content
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
51 changes: 44 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@ jobs:
- name: Set up Elixir
uses: erlef/setup-beam@v1
with:
elixir-version: "1.18.1"
otp-version: "27.2"
elixir-version: "1.20"
otp-version: "29"
- name: Restore dependencies cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: deps
key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }}
Expand All @@ -43,18 +43,55 @@ jobs:
run: mix format --check-formatted
- name: Run Credo
run: mix credo
dialyzer:
name: Dialyzer
runs-on: ubuntu-latest
env:
ELIXIR_VERSION: "1.20"
OTP_VERSION: "29"
steps:
- uses: actions/checkout@v5
- name: Set up Elixir
uses: erlef/setup-beam@v1
with:
elixir-version: ${{ env.ELIXIR_VERSION }}
otp-version: ${{ env.OTP_VERSION }}
- name: Restore dependencies cache
uses: actions/cache@v4
with:
path: deps
key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }}
restore-keys: ${{ runner.os }}-mix-
- name: Restore PLT cache
uses: actions/cache@v4
with:
path: priv/plts
key: ${{ runner.os }}-plt-${{ env.ELIXIR_VERSION }}-${{ env.OTP_VERSION }}-${{ hashFiles('**/mix.lock') }}
restore-keys: ${{ runner.os }}-plt-${{ env.ELIXIR_VERSION }}-${{ env.OTP_VERSION }}-
- name: Install dependencies
run: mix deps.get
- name: Run Dialyzer
run: mix dialyzer --format github
test:
name: Test
name: Test (Elixir ${{ matrix.elixir }} / OTP ${{ matrix.otp }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- elixir: "1.16"
otp: "26"
- elixir: "1.20"
otp: "29"
steps:
- uses: actions/checkout@v5
- name: Set up Elixir
uses: erlef/setup-beam@v1
with:
elixir-version: "1.18.1"
otp-version: "27.2"
elixir-version: ${{ matrix.elixir }}
otp-version: ${{ matrix.otp }}
- name: Restore dependencies cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: deps
key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }}
Expand Down
4 changes: 2 additions & 2 deletions .tool-versions
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
elixir 1.18.3-otp-27
erlang 27.3.1
elixir 1.20.4-otp-29
erlang 29.0.6
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- Use Mint for all HTTP/1 and HTTP/2 connections. This replaces the use of `:httpoison`
and `:kadabra`. ([#296](https://github.com/codedge-llc/pigeon/pull/296))
- Minimum supported Elixir version is now `1.16`. Pigeon supports every Elixir version
that still receives security patches, and the minimum moves forward as Elixir drops
older branches. ([#310](https://github.com/codedge-llc/pigeon/pull/310))
- Support Elixir 1.20 and Erlang/OTP 29. ([#310](https://github.com/codedge-llc/pigeon/pull/310))
- Prune stale `:httpoison` and `:kadabra` entries from `mix.lock`. ([#305](https://github.com/codedge-llc/pigeon/pull/305))

**Removed**

- Unpublished v1 guides in `docs/`. The `Pigeon.ADM`, `Pigeon.APNS`, and `Pigeon.FCM`
module docs cover v2 setup. The v1 guides remain on the `v1.6` branch. ([#310](https://github.com/codedge-llc/pigeon/pull/310))

**Fixed**

Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2015-2025 Codedge LLC (https://www.codedge.io/)
Copyright (c) 2015-2026 Codedge LLC (https://www.codedge.io/)

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
17 changes: 10 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
![logo](https://raw.githubusercontent.com/codedge-llc/pigeon/master/docs/logo.png)
![logo](https://raw.githubusercontent.com/codedge-llc/pigeon/main/docs/logo.png)

> iOS (APNS), Android (FCM), and Amazon Android (ADM) push notifications for Elixir.

[![CI](https://github.com/codedge-llc/pigeon/actions/workflows/ci.yml/badge.svg)](https://github.com/codedge-llc/pigeon/actions/workflows/ci.yml)
[![Version](https://img.shields.io/hexpm/v/pigeon.svg)](https://hex.pm/packages/pigeon)
[![Total Downloads](https://img.shields.io/hexpm/dt/pigeon.svg)](https://hex.pm/packages/pigeon)
[![License](https://img.shields.io/hexpm/l/pigeon.svg)](https://github.com/codedge-llc/pigeon/blob/master/LICENSE)
[![Last Updated](https://img.shields.io/github/last-commit/codedge-llc/pigeon.svg)](https://github.com/codedge-llc/pigeon/commits/master)
[![License](https://img.shields.io/hexpm/l/pigeon.svg)](https://github.com/codedge-llc/pigeon/blob/main/LICENSE)
[![Last Updated](https://img.shields.io/github/last-commit/codedge-llc/pigeon.svg)](https://github.com/codedge-llc/pigeon/commits/main)
[![Documentation](https://img.shields.io/badge/documentation-gray)](https://hexdocs.pm/pigeon/)

## Installation

Add `:pigeon` and as a `mix.exs` dependency:
Add `:pigeon` as a `mix.exs` dependency:

```elixir
def deps do
Expand All @@ -21,6 +21,9 @@ def deps do
end
```

Pigeon supports every Elixir version that still receives security patches, currently 1.16 and later.
The minimum version moves forward when Elixir drops a branch from support.

## Upgrading from v1.6

See the [migration guide](./docs/Migrating-to-v2-0-0.md) for instructions.
Expand Down Expand Up @@ -51,7 +54,7 @@ See [Pigeon.Adapter](https://hexdocs.pm/pigeon/Pigeon.Adapter.html) for instruct
### Testing

Unit tests can be run with `mix test` or `mix coveralls.html`. Environment variables will need to be set for
various credentials. See [config/test.exs](https://github.com/codedge-llc/pigeon/blob/master/config/test.exs)
various credentials. See [config/test.exs](https://github.com/codedge-llc/pigeon/blob/main/config/test.exs)
for the full list.

### Formatting
Expand All @@ -66,6 +69,6 @@ Git commit subjects use the [Karma style](http://karma-runner.github.io/5.0/dev/

## License

Copyright (c) 2015-2025 Codedge LLC (https://www.codedge.io/)
Copyright (c) 2015-2026 Codedge LLC (https://www.codedge.io/)

This library is MIT licensed. See the [LICENSE](https://github.com/codedge-llc/pigeon/blob/master/LICENSE) for details.
This library is MIT licensed. See the [LICENSE](https://github.com/codedge-llc/pigeon/blob/main/LICENSE) for details.
4 changes: 2 additions & 2 deletions config/dev.exs
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,5 @@ config :pigeon, PigeonTest.APNS,

config :pigeon, PigeonTest.FCM,
adapter: Pigeon.FCM,
project_id: System.get_env("FCM_PROJECT"),
service_account_json: System.get_env("FCM_SERVICE_ACCOUNT_JSON")
auth: PigeonTest.Goth,
project_id: System.get_env("FCM_PROJECT")
2 changes: 0 additions & 2 deletions config/dialyzer.ignore-warnings

This file was deleted.

78 changes: 0 additions & 78 deletions docs/ADM Amazon Android.md

This file was deleted.

Loading
Loading