Skip to content

Commit

Permalink
Release v1.14.0
Browse files Browse the repository at this point in the history
  • Loading branch information
imjoehaines authored Jan 16, 2024
2 parents 7998ca5 + 1d50877 commit d10b9d2
Show file tree
Hide file tree
Showing 85 changed files with 1,807 additions and 168 deletions.
2 changes: 1 addition & 1 deletion .ci/require-symfony.sh
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,6 @@ else
# Symfony Messenger only exists from 4.1.0 onward
case "$SYMFONY_VERSION" in
4.0*) ;;
^[4-6]*) composer require "symfony/messenger:${SYMFONY_VERSION}" --no-update ;;
^[4-99]*) composer require "symfony/messenger:${SYMFONY_VERSION}" --no-update ;;
esac
fi
6 changes: 5 additions & 1 deletion .github/workflows/license-audit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,19 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
php-version: ['8.0']
symfony-version: ['^3.4', '^4.4', '^5.0', '^6.0']
include:
- symfony-version: '^7.0'
php-version: '8.3'

steps:
- uses: actions/checkout@v2

- name: install PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.0'
php-version: ${{ matrix.php-version }}

- name: Fetch decisions.yml
run: curl https://raw.githubusercontent.com/bugsnag/license-audit/master/config/decision_files/global.yml -o decisions.yml
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/maze-runner.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ jobs:
include:
- php-version: '7.2'
symfony-version: 2
- php-version: '8.3'
symfony-version: 7

steps:
- uses: actions/checkout@v2
Expand Down
10 changes: 10 additions & 0 deletions .github/workflows/test-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,16 @@ jobs:
- php-version: '8.2'
symfony-version: '^6.0'
- php-version: '8.2'
symfony-version: '^7.0'
- php-version: '8.3'
symfony-version: '^4.4'
- php-version: '8.3'
symfony-version: '^5.0'
- php-version: '8.3'
symfony-version: '^6.0'
- php-version: '8.3'
symfony-version: '^7.0'
- php-version: '8.3'
symfony-version: 'latest'

steps:
Expand Down
2 changes: 1 addition & 1 deletion BugsnagBundle.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,5 @@ class BugsnagBundle extends Bundle
*
* @return string
*/
const VERSION = '1.13.0';
const VERSION = '1.14.0';
}
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
Changelog
=========

## 1.14.0 (2024-01-16)

* Add support for Symfony 7
[elliotbruneel](https://github.com/elliotbruneel)
[jdecool](https://github.com/jdecool)
[#170](https://github.com/bugsnag/bugsnag-symfony/pull/170)

## 1.13.0 (2022-10-24)

### Enhancements
Expand Down
161 changes: 161 additions & 0 deletions DependencyInjection/BaseConfiguration.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
<?php

namespace Bugsnag\BugsnagBundle\DependencyInjection;

use Bugsnag\BugsnagBundle\EventListener\BugsnagListener;
use Bugsnag\BugsnagBundle\EventListener\BugsnagShutdown;
use Bugsnag\BugsnagBundle\Request\SymfonyResolver;
use Bugsnag\Client;
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
use Symfony\Component\Config\Definition\ConfigurationInterface;

abstract class BaseConfiguration
{
/**
* The name of the root of the configuration.
*
* @var string
*/
const ROOT_NAME = 'bugsnag';

/**
* Get the configuration tree builder.
*
* @return TreeBuilder
*/
public function getConfigTreeBuilder()
{
$treeBuilder = new TreeBuilder(self::ROOT_NAME);
$rootNode = $this->getRootNode($treeBuilder);

$rootNode
->children()
->scalarNode('api_key')
->defaultValue(getenv('BUGSNAG_API_KEY') ?: null)
->end()
->scalarNode('endpoint')
->defaultValue(getenv('BUGSNAG_ENDPOINT') ?: null)
->end()
->booleanNode('callbacks')
->defaultValue(true)
->end()
->booleanNode('user')
->defaultValue(true)
->end()
->scalarNode('app_type')
->defaultNull()
->end()
->scalarNode('app_version')
->defaultNull()
->end()
->booleanNode('batch_sending')
->defaultValue(true)
->end()
->scalarNode('hostname')
->defaultNull()
->end()
->booleanNode('send_code')
->defaultValue(true)
->end()
->scalarNode('release_stage')
->defaultNull()
->end()
->scalarNode('strip_path')
->defaultNull()
->end()
->scalarNode('project_root')
->defaultNull()
->end()
->booleanNode('auto_notify')
->defaultValue(true)
->end()
->scalarNode('resolver')
->defaultValue(SymfonyResolver::class)
->end()
->scalarNode('factory')
->defaultValue(ClientFactory::class)
->end()
->scalarNode('client')
->defaultValue(Client::class)
->end()
->scalarNode('listener')
->defaultValue(BugsnagListener::class)
->end()
->arrayNode('notify_release_stages')
->prototype('scalar')->end()
->treatNullLike([])
->defaultValue([])
->end()
->arrayNode('filters')
->prototype('scalar')->end()
->treatNullLike([])
->defaultValue([])
->end()
->scalarNode('shutdown')
->defaultValue(BugsnagShutdown::class)
->end()
->scalarNode('strip_path_regex')
->defaultNull()
->end()
->scalarNode('project_root_regex')
->defaultNull()
->end()
->scalarNode('guzzle')
->defaultNull()
->end()
->scalarNode('memory_limit_increase')
->defaultFalse()
->end()
->arrayNode('discard_classes')
->prototype('scalar')->end()
->treatNullLike([])
->defaultValue([])
->end()
->arrayNode('redacted_keys')
->prototype('scalar')->end()
->treatNullLike([])
->defaultValue([])
->end()
->arrayNode('feature_flags')
->prototype('array')
->children()
->scalarNode('name')
->isRequired()
->validate()
->ifTrue(function ($value) {
return !is_string($value);
})
->thenInvalid('Feature flag name should be a string, got %s')
->end()
->end()
->scalarNode('variant')->end()
->end()
->end()
->treatNullLike([])
->defaultValue([])
->end()
->scalarNode('max_breadcrumbs')
->defaultNull()
->end();

return $treeBuilder;
}

/**
* Returns the root node of TreeBuilder with backwards compatibility
* for pre-Symfony 4.1.
*
* @param TreeBuilder $treeBuilder a TreeBuilder to extract/create the root node
* from
*
* @return NodeDefinition the root node of the config
*/
protected function getRootNode(TreeBuilder $treeBuilder)
{
if (\method_exists($treeBuilder, 'getRootNode')) {
return $treeBuilder->getRootNode();
}

return $treeBuilder->root(self::ROOT_NAME);
}
}
Loading

0 comments on commit d10b9d2

Please sign in to comment.