Apache Traffic Control is an Open Source implementation of a Content Delivery Network

Overview

Build Status Weasel License Checks Traffic Ops Integration Tests Go Unit Tests Go Formatting TP Integration Tests TM Integration Tests Documentation Status

Apache Traffic Control

Apache Traffic Control is an Open Source implementation of a Content Delivery Network.

Documentation

Releases

Downloads

Questions, Comments, Bugs and More

Comments
  • Traffic Ops Golang parent.config

    Traffic Ops Golang parent.config

    What does this PR do?

    Traffic Ops Golang parent.config

    ~Still WIP. I've tested against a single edge and mid; still need to test against a large number of configurations of edges and mids.~

    Removing WIP - I think this is good to be merged. I've manually diffed versus the old Perl parent.config, against every edge and mid in our production CDN.

    The only differences vs Perl, are where duplicate origins exist with different configurations (a data bug), and Perl arbitrarily selects one with no warning or error. Go now logs an error when that happens. Unfortunately, Perl is ordering them by an internal Perl hash of the object, which isn't feasible to replicate in Go. But again, it's a data bug to have that scenario at all.

    Fixes #3071 in https://github.com/apache/trafficcontrol/pull/3075/commits/48ba440ce7f79d9c7701ed3cdc381a666372216d Does not fix #2725 - that's a much more invasive fix, I think should be a separate PR.

    Includes API tests.

    Which TC components are affected by this PR?

    • [ ] Documentation
    • [ ] Grove
    • [ ] Traffic Analytics
    • [ ] Traffic Monitor
    • [x] Traffic Ops
    • [ ] Traffic Ops ORT
    • [ ] Traffic Portal
    • [ ] Traffic Router
    • [ ] Traffic Stats
    • [ ] Traffic Vault
    • [ ] Other _________

    What is the best way to verify this PR?

    Check all that apply

    • [x] This PR includes tests
    • [ ] This PR includes documentation updates
    • [ ] This PR includes an update to CHANGELOG.md
    • [ ] This PR includes all required license headers
    • [ ] This PR includes a database migration (ensure that migration sequence is correct)
    • [ ] This PR fixes a serious security flaw. Read more: www.apache.org/security
    new feature Traffic Ops cache-config 
    opened by rob05c 56
  • Rewrote /user/reset_password to Go

    Rewrote /user/reset_password to Go

    What does this PR (Pull Request) do?

    Rewrites the /user/reset_password API endpoint to Go

    • [x] This PR fixes #3842

    Which Traffic Control components are affected by this PR?

    • Traffic Ops

    Functionality is unchanged, so no documentation required.

    What is the best way to verify this PR?

    Configure SMTP to be used with a TO instance built from this branch, then attempt to send a password reset email via this endpoint.

    No tests because it requires an SMTP server to send an email to a human which is hard to test.

    The following criteria are ALL met by this PR

    • [x] I have explained why tests are absent
    • [x] I have explained why documentation is unnecessary
    • [x] This PR includes an update to CHANGELOG.md
    • [x] This PR includes any and all required license headers
    • [x] This PR does not include a database migration
    • [x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY
    Traffic Ops tech debt authentication 
    opened by ocket8888 53
  • Improvements to Server-to-Delivery Service assignments

    Improvements to Server-to-Delivery Service assignments

    What does this PR (Pull Request) do?

    • [x] This PR fixes #3756

    Reworked the POST method handler of the /servers/{{ID}}/deliveryservices endpoint to both

    a) respect CDN limitations in assignments b) respect tenancy permissions

    Also updated Traffic Portal so that servers which are unavailable for DS assignment cloning do not appear in the selection menu.

    Draft status pending testing.

    Which Traffic Control components are affected by this PR?

    • Traffic Ops
    • Traffic Portal

    What is the best way to verify this PR?

    Build and run Traffic Ops and Traffic Portal, attempt to assign a server to one or more Delivery Services in a different CDN, and/or to one or more Delivery Services to which access by your tenant is forbidden. Traffic Portal should not present you with the ability to do so, and Traffic Ops should reject your attempt should you bypass the UI.

    If this is a bug fix, what versions of Traffic Control are affected?

    • 3.0.1
    • master (@ 5da4a5b43605d499c474a38dfdc33d20a88a3913)

    The following criteria are ALL met by this PR

    • [x] This PR includes tests OR I have explained why tests are unnecessary
    • [x] This PR includes documentation OR I have explained why documentation is unnecessary
    • [x] This PR includes an update to CHANGELOG.md OR such an update is not necessary
    • [x] This PR includes any and all required license headers
    • [x] This PR ensures that database migration sequence is correct OR this PR does not include a database migration
    • [x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY
    bug Traffic Ops Traffic Portal high impact 
    opened by ocket8888 51
  • Rewrite /capabilities to Go

    Rewrite /capabilities to Go

    What does this PR (Pull Request) do?

    • [x] This PR fixes #3821

    Rewrites the /capabilities endpoint to Go. Also adds handlers for the PUT and DELETE request methods.

    Which Traffic Control components are affected by this PR?

    • Documentation
    • Traffic Control Client (Python and Go)
    • Traffic Ops
    • Traffic Portal

    What is the best way to verify this PR?

    Run the associated tests in traffic_ops/testing/api/v14.

    The following criteria are ALL met by this PR

    • [x] This PR includes tests
    • [x] This PR includes documentation
    • [x] This PR includes an update to CHANGELOG.md OR such an update is not necessary
    • [x] This PR includes any and all required license headers
    • [x] This PR does not include a database migration
    • [x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY
    Traffic Ops Traffic Portal documentation tests tech debt TC Client (python) TO Client (Go) 
    opened by ocket8888 49
  • Experimental Traffic Portal Self-Service UI

    Experimental Traffic Portal Self-Service UI

    What does this PR do?

    Introduces an Angular7-based subset of Traffic Portal, intended for use by users who want to monitor/configure limited parts of a syndicated CDN architecture. This is meant to first and foremost replace a certain, closed-source UI for which there is currently no open-source equivalent.

    This project is overall a WIP, but I'd like it to be merged into experimental/ in case anyone else wants to help out with the development.

    Here's what's implemented so far:

    • (mostly) mobile-friendly interface
    • preliminary HTTPS support (only listens on localhost atm)
    • login works and is persistent across page loads for as long as the mojolicious cookie is valid.
    • unauthenticated users are directed to login
    • API proxy fully implemented - any request that falls under /api/ is sent upstream to TO
    • Dashboard loads with a sticky nav bar and lists Delivery Service "cards" as details disclosure.
      • They aren't sorted, but can be quickly filtered by displayName using a fuzzy search bar
      • By default, the "cards" display only a summary consisting of the Display Name and Type, with some styling to indicate when a Delivery Service is not active (gets "greyed out" and appends (inactive) to the name), and an informational link that appears when the Delivery Service has an infoURL which, when clicked, opens said URL in a new browsing context (usually a "tab").
      • When the disclosures are opened - by clicking on them - further information is displayed, at the time of this writing consisting of:
        • The Delivery Service's "key" in the format Key: {{xml_id}} ({{numeric id}})
        • The longDesc field, if defined
        • A graph of edge bandwidth in KBPS since 00:00 UTC on the current day (refreshes whenever the disclosure is re-opened)
        • Meters measuring capacity (used/available/maintenance) and Cache Group Health. These display as <meter>s which generally render as a bar that goes from red to green as conditions improve, and include hover text and fallback rendering that display the actual percent as a number.
    • The dashboard has a little FAB that you can use to create a new Delivery Service with limited configuration.
    • "Users" page just lists all the users, containing the following information:
      • full name
      • username (currently used in the 'fuzzy search')
      • role
      • tenant
      • address (including street, city, state, zip)
      • contact info (including email/telephone)

    Which TC components are affected by this PR?

    • [x] Introduces a new component: Traffic Portal Self-Service/Traffic Portal Angular7

    What is the best way to verify this PR?

    A README with instructions for setup, deployment and development can be found at the project root (i.e. in experimental/traffic-portal-angular-7)

    Check all that apply

    • [x] This PR includes tests (MUCH work to be done on them, however)
    • [x] This PR includes all required license headers
    experimental Traffic Portal v2 
    opened by ocket8888 39
  • Changes for Backup Edge Cache Group

    Changes for Backup Edge Cache Group

    This PR implements solution for the issue: https://github.com/apache/incubator-trafficcontrol/issues/1907

    It places the backup policy in the CZF file

    { "coverageZones": { "GROUP2": { "backupList": ["GROUP1"], "network6": [ "1234:567a::/64", "1234:567b::/64" ], "network": [ "10.197.69.0/24" ] }, "GROUP1": { "backupList": ["GROUP2"], "network6": [ "1234:5677::/64", "1234:5676::/64" ], "network": [ "10.126.250.0/24" ] } } }

    The following test cases has been executed successfully for both DNS and HTTP Routing: Test Setup

    GROUP1 : Two cache Servers Group2 : One Cache Server GEO Limit set to CZF only

    Request from GROUP1's subnet , with one server in GROUP1 down and make sure the request is getting redirected to the remaining server in GROUP1 Request from GROUP1's subnet , with both servers in GROUP1 down and make sure the request is getting redirected to the GROUP2

    Regression cases Set GEO limit to None without backup list configured in CZF Request from GROUP1's subnet , with both servers in GROUP1 down and make sure the request is getting redirected to the GROUP2

    new feature Traffic Router abandoned 
    opened by Vijay-1 37
  • Rewrote jobs endpoints to go

    Rewrote jobs endpoints to go

    What does this PR (Pull Request) do?

    • [x] This PR resolves #1867, fixes #3116, closes #3803, closes #3804 and closes #3802

    Rewrites the "Jobs" endpoints from Perl to Go. This includes

    • /jobs
      • DELETE method - NEW deletes an existing Job. Queues reval_pending on all servers.
      • GET method
      • PUT method - NEW replaces an existing Job. Queues reval_pending on all servers.
      • POST method - NEW creates a new Job. Queues reval_pending on all servers.
    • /user/current/jobs
      • GET method
      • POST method - now requires privilege Role >= Portal, regardless of tenancy. No longer checks DS-to-user assignments when considering permissions.

    Input timestamps are now accepted in RFC3339 format (with or without nanosecond precision) as well as our proprietary format used for "Last Updated" fields.

    Which Traffic Control components are affected by this PR?

    • Documentation
    • Traffic Ops
    • Traffic Ops Client (Go)
    • Traffic Portal

    What is the best way to verify this PR?

    Creating, deleting, editing, replacing and viewing Jobs. Output and behavior should match the provided documentation. Client code has associated tests, which should pass when run.

    The following criteria are ALL met by this PR

    • [x] This PR includes tests
    • [x] This PR includes documentation
    • [x] This PR includes an update to CHANGELOG.md OR such an update is not necessary
    • [x] This PR includes any and all required license headers
    • [x] This PR does not include a database migration
    • [x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY (see the Apache Software Foundation's security guidelines for details)
    new feature Traffic Ops tech debt 
    opened by ocket8888 36
  • Pattern-based consistent hashing feature for TR/TO/TP

    Pattern-based consistent hashing feature for TR/TO/TP

    What does this PR do?

    Pattern-based consistent hashing is a new feature that allows the user to influence cache selection (and delivery service selection for steering ds's) by adjusting the request path before it is passed to the consistent hasher in Traffic Router by applying a regex group matching. This is accomplished via a new delivery service field on HTTP and Steering delivery services called "Consistent Hash Regex" that is propagated to TR through the CRConfig.

    Traffic Router parses the new optional regex field from the CRConfig and uses it during cache selection (HTTP delivery services) or delivery service selection (Steering delivery services).

    For HTTP delivery services:

    • consistent hash regex is applied to request path to extract pieces of the original request path to 'normalize' a string before passing to the consistent hasher for cache selection

    For Steering delivery services:

    • consistent hash regex is applied to request path to extract pieces of the original request path to 'normalize' a string before passing to the consistent hasher for delivery service selection
    • the selected (target) delivery service then inherits the consistent hash regex from the parent/steering delivery service and uses it as an HTTP delivery service does

    Additionally, I've included a Traffic Portal "Test Tool" so that users can test a regex against a request path to determine exactly what will be used by Traffic Router's consistent hasher. There is a link to the test tool underneath the form field in Traffic Portal.

    Which TC components are affected by this PR?

    • [x] Documentation
    • [ ] Grove
    • [ ] Traffic Analytics
    • [ ] Traffic Monitor
    • [x] Traffic Ops
    • [ ] Traffic Ops ORT
    • [x] Traffic Portal
    • [x] Traffic Router
    • [ ] Traffic Stats
    • [ ] Traffic Vault
    • [ ] Other _________

    What is the best way to verify this PR?

    • run Traffic Router unit and integration tests
    • run Traffic Ops unit and integration tests
    • install the components (TP/TO/TR) and verify the "consistentHashRegex" field makes it into the CrConfig
    • verify the TP "Test Tool" works as expected by providing various inputs

    Check all that apply

    • [x] This PR includes tests
    • [x] This PR includes documentation updates
    • [ ] This PR includes an update to CHANGELOG.md
    • [x] This PR includes all required license headers
    • [x] This PR includes a database migration (ensure that migration sequence is correct)
    • [ ] This PR fixes a serious security flaw. Read more: www.apache.org/security
    new feature Traffic Ops Traffic Router Traffic Portal database 
    opened by rivasj 36
  • Traffic Ops Golang Incremental Rewrite App

    Traffic Ops Golang Incremental Rewrite App

    This adds an app, which serves Traffic Ops endpoints as they're written (currently, just monitoring.json), and reverse-proxies everything else to the old Perl Traffic Ops.

    Includes RPM and Service files, to deploy it alongside the old TO.

    This can be trivially deployed alongside the old TO with no config (Puppet) changes. It reads the old TO config, and Postinstall sets the new port it needs.


    Things left before this can be merged:

    • [x] Configurable Logging (/traffic_monitor_golang/common/log)
    • [x] Unit Tests
    • [x] Move to /traffic_ops dir for build.sh
    • [x] Golang Perl Config parser
    • [x] Move tocookie out of experimental
    • [x] Add header (via wrapper) to Golang endpoints
    • [x] Add info to tocookie, indicating Golang created it
    • [x] Add Capability to RPM to run unprivileged service on privileged port
    • [x] CORS headers
    • [x] Routes for .json and without
    • [x] Log to access.log identical to Perl TO
    • [x] Logrotate new log files
    • [x] Documentation
    • [x] Postinstall adding new high port for old TO
    • [x] Configurable max database connections
    opened by rob05c 36
  • [Issue 1907] TO API for backup edge cachegroup

    [Issue 1907] TO API for backup edge cachegroup

    [Issue 1907] Backup edge cache group TO API / TR cr-config changes

    https://github.com/apache/incubator-trafficcontrol/issues/1907

    Contains the following changes: Traffic Router - Backup edge configuration parsing and decision making code changes Traffic Ops - Mojolicious Perl CRUD APIs

    This is the initial version of code. Only minimal testing has been done. Will run more cases and update. Hosting it in advance to get review comments :-)

    new feature Traffic Router 
    opened by Vijay-1 34
  • Add server capabilities API

    Add server capabilities API

    What does this PR (Pull Request) do?

    Add a new API for creating, reading, and deleting (not updating) server capabilities:

    POST /api/1.4/server_capabilities
    GET /api/1.4/server_capabilities[?name=<name>]
    DELETE /api/1.4/server_capabilities?name=<name>
    
    expected POST body:
    {"name": "bar"}
    
    expected POST response:
    {
      "alerts": [
        {
          "text": "server capability was created.",
          "level": "success"
        }
      ],
      "response": {
        "name": "bar",
        "lastUpdated": "2019-10-07 22:10:00+00"
      }
    }
    
    expected GET response (can use ?name=... qparam to filter by name):
    {
      "response": [
        {
          "name": "bar",
          "lastUpdated": "2019-10-07 20:38:24+00"
        }
      ]
    }
    
    expected DELETE response:
    {
      "alerts": [
        {
          "text": "server capability was deleted.",
          "level": "success"
        }
      ]
    }
    
    • [x] This PR is not related to any Issue

    Which Traffic Control components are affected by this PR?

    • Traffic Control Client (Go)
    • Traffic Monitor
    • Traffic Ops

    Documentation will be done in a follow-up PR.

    What is the best way to verify this PR?

    Read the added TO API tests to verify they're sufficient, then run the TO API tests.

    The following criteria are ALL met by this PR

    • [x] This PR includes tests OR I have explained why tests are unnecessary
    • [x] This PR includes documentation OR I have explained why documentation is unnecessary
    • [x] This PR includes an update to CHANGELOG.md OR such an update is not necessary
    • [x] This PR includes any and all required license headers
    • [x] This PR ensures that database migration sequence is correct OR this PR does not include a database migration
    • [x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY (see the Apache Software Foundation's security guidelines for details)
    new feature Traffic Ops 
    opened by rawlinp 32
  • Use golang docker image

    Use golang docker image

    Replace go install with the golang docker image


    Which Traffic Control components are affected by this PR?

    • Docker images

    What is the best way to verify this PR?

    Build docker images and verify they are still working

    PR submission checklist

    opened by ericholguin 0
  • Fixed docs for roles and cdn locks description

    Fixed docs for roles and cdn locks description

    Closes: #7221 Closes: #7225


    Which Traffic Control components are affected by this PR?

    • Documentation

    What is the best way to verify this PR?

    1. Goto /api/v4/cdn_locks.html and /api/v4/roles.html in the docs.
    2. Response structure documentation aligns with the response sample.

    If this is a bugfix, which Traffic Control versions contained the bug?

    • master

    PR submission checklist

    bug documentation low impact 
    opened by joobisb 0
  • Bump fast-json-patch from 3.1.0 to 3.1.1 in /traffic_portal/app/src

    Bump fast-json-patch from 3.1.0 to 3.1.1 in /traffic_portal/app/src

    Bumps fast-json-patch from 3.1.0 to 3.1.1.

    Release notes

    Sourced from fast-json-patch's releases.

    3.1.1

    Security Fix for Prototype Pollution - huntr.dev #262

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies javascript 
    opened by dependabot[bot] 1
  • fix(docker build router): docker build arg TMCAT & RPM, allow http resources

    fix(docker build router): docker build arg TMCAT & RPM, allow http resources

    Fix support of http rpm resources in Dockerfile (--build-arg TMCAT & RPM) of Traffic Router like other components.

    Useful in CI/CD build context and work as expected with the current Example Build and Run of Dockerfile

    Which Traffic Control components are affected by this PR?

    • Automation: Docker images

    What is the best way to verify this PR?

    Try docker build with--build-arg=TMCAT=https://<internal mirror>/tomcat-9.0.67-1.el8.noarch.rpm --build-arg=RPM=https://<internal mirror>/traffic_router.rpm

    PR submission checklist

    opened by agirot 0
  • Documentation-based changelog generation

    Documentation-based changelog generation

    Justification/backstory

    Changes between API versions are extensive, and generally aren't enumerated in the changelog - for example, in APIv5 the format of a timestamp in a Delivery Service structure changed from the TO custom timestamp to RFC3339, but that is not listed in the changelog. Such things are usually implementation details of larger changes listed in the CHANGELOG and are usually quite extensive for any given (major) version gap, so it's not reasonable to expect people to add all of that to a regular CHANGELOG. Especially not since we (try to) always require .. versionadded::, .. versionchanged::, and .. deprecated:: directives to the documentation for Traffic Ops endpoints whenever these changes occur.

    So how do you know the API differences? There are two equally tedious methods today. You can read all of the documentation for one version, then all of the documentation for the other and compare what's different. Or, you could read through all of the changes for all of the PRs that went into a release that solidified the version in question, and by examining the changes to Go code and documentation you can figure out what's different.

    However, because we (try to) always add the Sphinx directives above, there's a much easier way that just isn't being utilized at the moment.


    You can get a list of the changes in a version with the changes Sphinx builder. The only problem is that we have a project-wide version that doesn't match our API version, so the changes get messed up. There's a simple way around that, and what this PR does is expose that through our docs' makefile. Now, if you want to see the things that were added, changed, and deprecated in API version, say 4.0, you can do:

    make VERSION=4.0 apichanges
    

    ... and it spits out an HTML document summarizing those changes into docs/build/apichanges/. Note that if you don't specify a version, it'll default to the project version - 7.1.0 at the time of this writing.

    This PR also adds the ability to override the version for the already-supported changes target, which summarizes changes to the entire project. This is because (in the API docs specifically, but also some other places throughout the docs) the prefix ATCv is prepended to the version number for those directives, to make it clear that it's the project version and not an API version. So make changes may not give you the whole truth; it may be necessary to also look at e.g. make VERSION=ATCv7.1.

    I intend to follow this PR up with another that syncs this disparate usage across the docs to make this functionality easier to use, along with a guidelines section on the topic.


    Which Traffic Control components are affected by this PR?

    • Documentation

    What is the best way to verify this PR?

    1. make VERSION=4.0 apichanges and verify output

    PR submission checklist

    • [x] This PR doesn't need tests
    • [x] This PR has documentation
    • [x] This PR doesn't need a CHANGELOG.md entry
    • [x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY
    new feature documentation low impact improvement 
    opened by ocket8888 0
  • Failed to load default certificate when changing hostname for Traffic Router

    Failed to load default certificate when changing hostname for Traffic Router

    This Bug Report affects these Traffic Control components:

    • Traffic Router

    Current behavior:

    Looks like Traffic Router creates a default self-signed certificate. 2 files seems to be generated:

    • keyStore.jks
    • fqdn.crt

    When one changes the hostname of the server. A new certificate is not generated and Traffic Router complaints with a few messages like:

    ERROR 2022-12-14T20:11:54.307 [Thread-21] org.apache.traffic_control.traffic_router.secure.CertificateRegistry - Failed to load default certificate. Received class java.lang.NullPointerException with message: null
    ERROR 2022-12-14T20:11:54.308 [Thread-21] org.apache.traffic_control.traffic_router.secure.CertificateRegistry - Failed to initialize the API Default certificate.
    

    Expected behavior:

    Traffic Router should regenerate a new certificate that matches the hostname.

    Steps to reproduce:

    • Install Traffic Router on a VM
    • Change the hostname of the VM
    • Restart Traffic Router
    bug Traffic Router 
    opened by smalenfant 0
Releases(RELEASE-7.0.1)
  • RELEASE-7.0.1(Aug 25, 2022)

  • RELEASE-7.0.0(Aug 9, 2022)

    Added

    • Added SOA (Service Oriented Architecture) capability to CDN-In-A-Box.
    • Added a Traffic Ops endpoint and Traffic Portal page to view all CDNi configuration update requests and approve or deny.
    • Added a Traffic Ops endpoints to PUT a requested configuration change for a full configuration or per host and an endpoint to approve or deny the request.
    • Added a new Traffic Ops endpoint to GET capacity and telemetry data for CDNi integration.
    • Added back to the health-client the status field logging with the addition of the filed to publish/CrStates
    • Added functionality for CDN locks, so that they can be shared amongst a list of specified usernames.
    • Added functionality for login to provide a Bearer token and for that token to be later used for authorization.
    • Added layered profile feature to 4.0 for GET /deliveryservices/{id}/servers/ and /deliveryservices/{id}/servers/eligible.
    • Added layered profile feature to 4.0 for GET /servers/, POST /servers/, PUT /servers/{id} and DELETE /servers/{id}.
    • Added support for a new Traffic Ops GLOBAL profile parameter -- tm_query_status_override -- to override which status of Traffic Monitors to query (default: ONLINE).
    • Change to t3c diff to flag a config file for replacement if owner/group settings are not ats #6879.
    • Change to t3c regex_revalidate so that STALE is no longer explicitly added for default revalidate rule for ATS version backwards compatibility.
    • Replaces all Traffic Portal Tenant select boxes with a novel tree select box #6427.
    • Traffic Monitor config option distributed_polling which enables the ability for Traffic Monitor to poll a subset of the CDN and divide into "local peer groups" and "distributed peer groups". Traffic Monitors in the same group are local peers, while Traffic Monitors in other groups are distibuted peers. Each TM group polls the same set of cachegroups and gets availability data for the other cachegroups from other TM groups. This allows each TM to be responsible for polling a subset of the CDN while still having a full view of CDN availability. In order to use this, stat_polling must be disabled.
    • Traffic Monitor: Add support for access.log to TM.
    • Traffic Ops: added new cdn.conf option -- server_update_status_cache_refresh_interval_sec -- which enables an in-memory server update status cache to improve performance. Default: 0 (disabled).
    • Traffic Ops: added new cdn.conf option -- user_cache_refresh_interval_sec -- which enables an in-memory users cache to improve performance. Default: 0 (disabled).
    • Traffic Router: Add support for file-protocol URLs for the geolocation.polling.url for the Geolocation database.
    • Added status and lastPoll fields to the publish/CrStates endpoint of Traffic Monitor (TM) #6448.
    • [Traffic Ops | Traffic Go Clients | T3C] Add additional timestamp fields to server for queuing and dequeueing config and revalidate updates.
    • [Traffic Ops] Added support for backend configurations so that Traffic Ops can act as a reverse proxy for these services #6754.
    • [Traffic Portal] Added Layered Profile feature to /servers/
    • [Traffic Portal] Added the ability for users to view Delivery Service Requests corresponding to individual Delivery Services in TP.

    Fixed

    • Correction where using the placeholder __HOSTNAME__ in "unknown" files (others than the defaults ones), was being replaced by the full FQDN instead of the shot hostname.
    • Fixed TO API GET /deliveryservicesserver causing error when an IMS request is made with the cdn and maxRevalDurationDays parameters set.
    • Fixed TO API PUT /servers/:id/status to only queue updates on the same CDN as the updated server
    • Fixed TO to default route ID to 0, if it is not present in the request context.
    • Fixed Traffic Ops ignoring the configured database port value, which was prohibiting the use of anything other than port 5432 (the PostgreSQL default)
    • Fixed Traffic Router to handle aggressive NSEC correctly.
    • Fixed a cdn-in-a-box build issue when using RHEL_VERSION=7
    • Fixed searching of the ds parameter merge_parent_groups slice.
    • Only operations and admin roles should have the DELIVERY-SERVICE:UPDATE permission.
    • Traffic Router: fixed a null pointer exception that caused snapshots to be rejected if a topology cachegroup did not have any online/reported/admin_down caches
    • Update traffic_portal dependencies to mitigate npm audit issues.
    • #6271 api/{{version}/deliveryservices/{id}/health returns no info if the delivery service uses a topology.
    • #6291 Prevent Traffic Ops from modifying and/or deleting reserved statuses.
    • #6299 User representations don't match
    • #6368 Fixed validation response message from /acme_accounts
    • #6369 Fixed /acme_accounts endpoint to validate email and URL fields
    • #6370 Fixed docs for POST and response code for PUT to /acme_accounts endpoint
    • #6538 Fixed the incorrect use of secure.port on TrafficRouter and corrected to the httpsPort value from the TR server configuration.
    • #6549 Fixed internal server error while deleting a delivery service created from a DSR (Traafic Ops).
    • #6562 Fixed incorrect template in Ansible dataset loader role when fallbackToClosest is defined.
    • #6580 Fixed cache config generation remap.config targets for MID-type servers in a Topology with other caches as parents and HTTPS origins.
    • #6590 Python client: Corrected parameter name in decorator for get_parameters_by_profile_id
    • #6603 Fixed users with "admin" "Priv Level" not having Permission to view or delete DNSSEC keys.
    • #6626 Fixed t3c Capabilities request failure issue which could result in malformed config.
    • #6712 - Fixed error when loading the Traffic Vault schema from create_tables.sql more than once.
    • #6776 User properties only required sometimes
    • #6780 Fixed t3c to use secondary parents when there are no primary parents available.
    • #6792 Remove extraneous field from Topologies and Server Capability POST/PUT.
    • #6795 Removed an unnecessary response wrapper object from being returned in a POST to the federation resolvers endpoint.
    • #6800 Fixed incorrect error message for /server/details associated with query parameters.
    • #6806 t3c calculates max_origin_connections incorrectly for topology-based delivery services
    • #6834 - In API 4.0, fixed GET for /servers to display all profiles irrespective of the index position. Also, replaced query param profileId with profileName.
    • #6883 Fix t3c cache to invalidate on version change
    • #6896 Fixed the POST api/cachegroups/id/queue_updates endpoint so that it doesn't give an internal server error anymore.
    • #6907 Fixed Traffic Ops to return the correct server structure (based on the API version) upon a server deletion.
    • #6933 Fixed tc-health-client to handle credentials files with special characters in variables
    • #6944 Fixed cache config generation for ATS 9 sni.yaml from disable_h2 to http2 directive. ATS 9 documents disable_h2, but it doesn't seem to work.
    • dequeueing server updates should not require checking for cdn locks.
    • t3c-generate fix for combining remapconfig and cachekeyconfig parameters for MakeRemapDotConfig call.

    Removed

    • Dropped CentOS 8 support
    • Remove Traffic Ops API version 2
    • Remove client.steering.forced.diversity feature flag(profile parameter) from Traffic Router (TR). Client steering responses now have cache diversity by default.
    • Remove traffic_portal dependencies to mitigate npm audit issues, specifically grunt-concurrent, grunt-contrib-concat, grunt-contrib-cssmin, grunt-contrib-jsmin, grunt-contrib-uglify, grunt-contrib-htmlmin, grunt-newer, and grunt-wiredep
    • Removed the Traffic Monitor peer_polling_protocol option. Traffic Monitor now just uses hostnames to request peer states, which can be handled via IPv4 or IPv6 depending on the underlying IP version in use.
    • Replace forever with pm2 for process management of the traffic portal node server to remediate security issues.
    • The /servers/details endpoint of the Traffic Ops API has been dropped in version 4.0, and marked deprecated in earlier versions.

    Changed

    • Added Rocky Linux 8 support
    • Added new fields to the monitoring.json snapshot and made Traffic Monitor prefer data in monitoring.json to the CRConfig snapshot
    • Added permissions to the role form in traffic portal
    • Adds updates to the trafficcontrol-health-client to, use new ATS Host status formats, detect and use proper traffic_ctl commands, and adds new markup-poll-threshold config.
    • Changed the Traffic Ops user last_authenticated update query to only update once per minute to avoid row-locking when the same user logs in frequently.
    • Changed the default Traffic Ops API version requsted by Traffic Router from 2.0 to 3.1
    • Removed the unused deliveryservice_tmuser table from Traffic Ops database
    • Traffic Monitor now defaults to 100 historical "CRConfig" Snapshots stored internally if not specified in configuration (previous default was 20,000)
    • Traffic Monitors now peer with other Traffic Monitors of the same status (e.g. ONLINE with ONLINE, OFFLINE with OFFLINE), instead of all peering with ONLINE.
    • Updated Ansible Roles to use Traffic Ops API v3
    • Updated Go version to 1.18
    • Updated Grove to use the TO API v3 client library
    • Updated Traffic Router dependencies:
      • async-http-client: 2.12.1 -> 2.12.3
      • commons-codec: 1.6 -> 1.15
      • commons-io: 2.0.1 -> 2.11.0
      • guava: 18.0 -> 31.1-jre
      • spring: 5.2.20.RELEASE -> 5.3.20
    • Updated the CDNs Traffic Portal page to use a more performant AG-Grid-based table.
    • Updated the Cache Stats Traffic Portal page to use a more performant AG-Grid-based table.
    • Updated the Profiles Traffic Portal page to use a more performant AG-Grid-based table.
    • #4351 Updated message to an informative one when deleting a delivery service.
    • #6654 Traffic Monitor now uses the TO API 4.0 by default and falls back to 3.1
    • #6694 Traffic Stats now uses the TO API 3.0
    • TRAFFIC_ROUTER-type Profiles no longer need to have names that match any kind of pattern (e.g. CCR_.*)
    Source code(tar.gz)
    Source code(zip)
  • RELEASE-6.1.0(Feb 5, 2022)

    Traffic Ops

    Added

    • Added permission based roles for better access control.
    • #5674 Added new query parameters cdn and maxRevalDurationDays to the GET /api/x/jobs Traffic Ops API to filter by CDN name and within the start_time window defined by the maxRevalDurationDays GLOBAL profile parameter, respectively.
    • Added a new Traffic Ops cdn.conf option -- disable_auto_cert_deletion -- in order to optionally prevent the automatic deletion of certificates for delivery services that no longer exist whenever a CDN snapshot is taken.
    • #6034 Added new query parameter cdn to the GET /api/x/deliveryserviceserver Traffic Ops API to filter by CDN name
    • SANs information to the SSL key endpoint and Traffic Portal page.
    • Added Traffic Vault Postgres columns, a Traffic Ops API endpoint, and Traffic Portal page to show SSL certificate expiration information.

    Fixed

    • #5893 - A self signed certificate is created when an HTTPS delivery service is created or an HTTP delivery service is updated to HTTPS.
    • #6378 - Cannot update or delete Cache Groups with null latitude and longitude.
    • Fixed broken GET /cdns/routing Traffic Ops API
    • #6392 - Traffic Ops prevents assigning ORG servers to topology-based delivery services (as well as a number of other valid operations being prohibited by "last server assigned to DS" validations which don't apply to topology-based delivery services)
    • #6457 - Fix broken user registration and password reset, due to the last_authenticated value being null.
    • #6367 - Fix PUT user/current to work with v4 User Roles and Permissions
    • #6266 - Removed postgresql13-devel requirement for traffic_ops

    Changed

    • #6179 Updated the Traffic Ops rpm to include the ToDnssecRefresh binary and make the trafops_dnssec_refresh cron job use it - Changed Invalidation Jobs throughout (TO, TP, T3C, etc.) to account for the ability to do both REFRESH and REFETCH requests for resources.
    • The admin Role is now always guaranteed to exist, and can't be deleted or modified.
    • Updated Golang dependencies

    Deprecated

    • Deprecated the endpoints and docs associated with /api_capability and /capabilities.

    Removed

    • Removed the user_role table.
    • The traffic_ops.sh shell profile no longer sets GOPATH or adds its bin folder to the PATH
    • /capabilities removed from Traffic Ops API version 4.

    Traffic Portal

    Added

    • A new Traffic Portal server command-line option -c to specify a configuration file, and the ability to set log: null to log to stdout (consult documentation for details).
    • SANs information to the SSL key endpoint and Traffic Portal page. - Added Invalidation Type (REFRESH or REFETCH) for invalidating content to Traffic Portal.
    • IMS warnings to Content Invalidation requests in Traffic Portal and documentation.

    Fixed

    • #6411 Removes invalid 'ALL cdn' options from TP
    • #6255 - Unreadable Prod Mode CDN Notifications in Traffic Portal
    • #6259 - Traffic Portal No Longer Allows Spaces in Server Object "Router Port Name"

    Changed

    • Traffic Portal no longer uses ruby compass to compile sass and now uses dart-sass. - Changed Invalidation Jobs throughout (TO, TP, T3C, etc.) to account for the ability to do both REFRESH and REFETCH requests for resources.

    Traffic Monitor

    Added

    • Added a new Traffic Monitor configuration option -- short_hostname_override -- to traffic_monitor.cfg to allow overriding the system hostname that Traffic Monitor uses.
    • Added a new Traffic Monitor configuration option -- stat_polling (default: true) -- to traffic_monitor.cfg to disable stat polling.
    • Added definition for heartbeat.polling.interval for CDN Traffic Monitor config in API documentation.

    Traffic Stats

    Changed

    • Updated Golang dependencies

    Deprecated

    • The use of a seelog configuration file to configure Traffic Stats logging is deprecated, and logging configuration should instead be present in the logs property of the Traffic Stats configuration file (refer to documentation for details).

    Fixed

    • Fixed Traffic Monitor parsing stats_over_http output so that multiple stats for the same underlying delivery service (when the delivery service has more than 1 regex) are properly summed together. This makes the resulting data more accurate in addition to fixing the "new stat is lower than last stat" warnings.

    Changed

    • #6376 Updated TO/TM so that TM doesn't overwrite monitoring snapshot data with CR config snapshot data.
    • Updated Golang dependencies

    Traffic Router

    Fixed

    • Fixed Traffic Router crs/stats to prevent overflow and to correctly record the time used in averages.
    • #6446 - Revert Traffic Router rollover file pattern to the one previously used in log4j.properties with Log4j 1.2
    • Changed the maxConnections value on Traffic Router, to prevent the thundering herd problem (TR).

    Changed

    • #6209 Updated Traffic Router to use Java 11 to compile and run
    • #6506 - Updated jackson-databind and jackson-annotations Traffic Router dependencies to version 2.13.1

    Cache Config

    Added

    • cache config t3c-apply retrying when another t3c-apply is running.
    • #6032 Add t3c setting mode 0600 for secure files
    • #6405 Added cache config version to all t3c apps and config file headers

    Changed

    - Updated t3c to request less unnecessary deliveryservice-server assignment and invalidation jobs data via new query params supported by Traffic Ops - Changed Invalidation Jobs throughout (TO, TP, T3C, etc.) to account for the ability to do both REFRESH and REFETCH requests for resources.

    • Updated t3c-apply to reduce mutable state in TrafficOpsReq struct.
    • Updated Golang dependencies

    Miscellaneous

    Added

    • New pkg script options, -h, -s, -S, and -L.
    • Traffic Vault: Added additional flag to TV Riak (Deprecated) Util
    Source code(tar.gz)
    Source code(zip)
    apache-trafficcontrol-6.1.0-docs.tar.gz(14.02 MB)
    apache-trafficcontrol-6.1.0.tar.gz(47.53 MB)
    grove-0.2-11770.f8041b3b.el8.src.rpm(2.49 MB)
    grove-0.2-11770.f8041b3b.el8.x86_64.rpm(2.11 MB)
    grovetccfg-0.2-11770.f8041b3b.el8.src.rpm(2.45 MB)
    grovetccfg-0.2-11770.f8041b3b.el8.x86_64.rpm(2.11 MB)
    tomcat-9.0.43-1.el8.noarch.rpm(9.38 MB)
    tomcat-9.0.43-1.el8.src.rpm(10.95 MB)
    trafficcontrol-cache-config-6.1.0-11770.f8041b3b.el8.src.rpm(17.69 KB)
    trafficcontrol-cache-config-6.1.0-11770.f8041b3b.el8.x86_64.rpm(15.66 MB)
    trafficcontrol-health-client-6.1.0-11770.f8041b3b.el8.src.rpm(2.52 MB)
    trafficcontrol-health-client-6.1.0-11770.f8041b3b.el8.x86_64.rpm(2.16 MB)
    traffic_monitor-6.1.0-11770.f8041b3b.el8.src.rpm(3.04 MB)
    traffic_monitor-6.1.0-11770.f8041b3b.el8.x86_64.rpm(2.48 MB)
    traffic_ops-6.1.0-11770.f8041b3b.el8.src.rpm(14.81 MB)
    traffic_ops-6.1.0-11770.f8041b3b.el8.x86_64.rpm(13.95 MB)
    traffic_portal-6.1.0-11770.f8041b3b.el8.src.rpm(2.15 MB)
    traffic_portal-6.1.0-11770.f8041b3b.el8.x86_64.rpm(4.37 MB)
    traffic_router-6.1.0-11770.f8041b3b.el8.x86_64.rpm(52.76 MB)
    traffic_stats-6.1.0-11770.f8041b3b.el8.src.rpm(6.43 MB)
    traffic_stats-6.1.0-11770.f8041b3b.el8.x86_64.rpm(5.56 MB)
  • RELEASE-6.0.1(Nov 9, 2021)

    Released November 8 th, 2021

    Downloads

    Apache Traffic Control 6.0.1 is available here:

    Release Notes

    Added

    • #2770 Added validation for httpBypassFqdn as hostname in Traffic Ops

    Fixed

    • #6125 - Fix /cdns/{name}/federations?id=# to search for CDN.
    • #6285 - The Traffic Ops Postinstall script will work in CentOS 7, even if Python 3 is installed
    • #5373 - Traffic Monitor logs not consistent
    • #6197 - TO /deliveryservices/:id/routing makes requests to all TRs instead of by CDN.
    • Traffic Ops: Sanitize username before executing LDAP query (CVE-2021-43350)

    Changed

    • #5927 Updated CDN-in-a-Box to not run a Riak container by default but instead only run it if the optional flag is provided.
    • Changed the DNSSEC refresh Traffic Ops API to only create a new change log entry if any keys were actually refreshed or an error occurred (in order to reduce changelog noise)
    Source code(tar.gz)
    Source code(zip)
    apache-trafficcontrol-6.0.1-docs.tar.gz(13.65 MB)
    apache-trafficcontrol-6.0.1.tar.gz(46.37 MB)
    grove-0.2-11621.1ed2964d.el8.x86_64.rpm(2.15 MB)
    grovetccfg-0.2-11621.1ed2964d.el8.x86_64.rpm(2.09 MB)
    tomcat-9.0.43-1.el8.noarch.rpm(9.38 MB)
    trafficcontrol-cache-config-6.0.1-11621.1ed2964d.el8.x86_64.rpm(14.55 MB)
    traffic_monitor-6.0.1-11621.1ed2964d.el8.x86_64.rpm(2.46 MB)
    traffic_ops-6.0.1-11621.1ed2964d.el8.x86_64.rpm(13.67 MB)
    traffic_portal-6.0.1-11621.1ed2964d.el8.x86_64.rpm(5.04 MB)
    traffic_router-6.0.1-11621.1ed2964d.el8.x86_64.rpm(47.85 MB)
    traffic_stats-6.0.1-11621.1ed2964d.el8.x86_64.rpm(5.52 MB)
  • RELEASE-6.0.0(Oct 11, 2021)

    Traffic Ops

    Added

    • #4982 Added the ability to support queueing updates by server type and profile
    • #5412 Added last authenticated time to user API's (GET /user/current, GET /users, GET /user?id=) response payload
    • #5451 Added change log count to user API's response payload and query param (username) to logs API
    • CDN Locks: An Operations-level user can now lock a CDN to prevent other users from trying to modify it at the same time.
    • Postgres Traffic Vault backend: Traffic Ops now supports a Postgres Traffic Vault backend with the option to fetch the Traffic Vault secret key from HashiCorp Vault
    • Python client: #5611 Added server_detail endpoint
    • Ported the Postinstall script to Python. The Perl version has been moved to install/bin/_postinstall.pl and has been deprecated, pending removal in a future release.
    • CDN-in-a-Box: Generate config files using the Postinstall script
    • Traffic Ops/Traffic Portal: #5479 - Added the ability to change a server capability name
    • Traffic Ops: #3577 - Added a query param (server host_name or ID) for servercheck API
    • #5316 - Add router host names and ports on a per interface basis, rather than a per server basis.
    • Traffic Ops: Adds API endpoints to fetch (GET), create (POST) or delete (DELETE) a cdn notification. Create and delete are limited to users with operations or admin role.
    • Added ACME certificate renewals and ACME account registration using external account binding
    • Added functionality to automatically renew ACME certificates.
    • Traffic Ops: #6069 - prevent unassigning all ONLINE ORG servers from an MSO-enabled delivery service
    • Added an endpoint for statuses on asynchronous jobs and applied it to the ACME renewal endpoint.
    • Added two new cdn.conf options to make Traffic Vault configuration more backend-agnostic: traffic_vault_backend and traffic_vault_config
    • Traffic Ops API version 4.0 - This version is unstable meaning that breaking changes can occur at any time - use at your own peril!
    • GET request method for /deliveryservices/{{ID}}/assign
    • GET request method for /deliveryservices/{{ID}}/status
    • Added integration to use ACME to generate new SSL certificates.
    • Added GetServersByDeliveryService method to the TO Go client
    • Added asynchronous status to ACME certificate generation.
    • Added per Delivery Service HTTP/2 and TLS Versions support, via ssl_server_name.yaml and sni.yaml. See overview/delivery_services and t3c docs.
    • Added headers to Traffic Portal, Traffic Ops, and Traffic Monitor to opt out of tracking users via Google FLoC.
    • Add logging scope for logging.yaml generation for ATS 9 support
    • DELETE request method for deliveryservices/xmlId/{name}/urlkeys and deliveryservices/{id}/urlkeys.
    • Added traffic_ops/app/db/traffic_vault_migrate to help with migrating Traffic Ops Traffic Vault backends
    • Added a tool at /traffic_ops/app/db/reencrypt to re-encrypt the data in the Postgres Traffic Vault with a new key.
    • Added a new field to Delivery Services - tlsVersions - that explicitly lists the TLS versions that may be used to retrieve their content from Cache Servers.

    Fixed

    • CVE-2021-42009: Customer names in payloads sent to the /deliveryservices/request Traffic Ops API endpoint can no longer contain characters besides alphanumerics, @, !, #, $, %, ^, &, *, (, ), [, ], '.', ' ', and '-'. This fixes a vulnerability that allowed email content injection.
    • #2471 - A PR check to ensure added db migration file is the latest.
    • #5609 - Fixed GET /servercheck filter for an extra query param.
    • #5954 - Traffic Ops HTTP response write errors are ignored
    • #6104 - PUT /api/x/federations only respects first item in request payload
    • #5288 - Fixed the ability to create and update a server with MTU value >= 1280.
    • #5284 - Fixed error message when creating a server with non-existent profile
    • #5739 - Prevent looping in case of a failed login attempt
    • #5407 - Make sure that you cannot add two servers with identical content
    • #2881 - Some API endpoints have incorrect Content-Types
    • #5405 - Prevent Tenant update from choosing child as new parent
    • #5548 - Don't return a 403 Forbidden when the user tries to get servers of a non-existent DS using GET /servers?dsId={{nonexistent DS ID}}
    • #5732 - TO API POST /cdns/dnsseckeys/generate times out with large numbers of delivery services
    • #5902 - Fixed issue where the TO API wouldn't properly query all SSL certificates from Riak.
    • Fixed server creation through legacy API versions to default monitor to true.
    • #5965 - Fixed Traffic Ops /deliveryserviceservers If-Modified-Since requests.
    • #5981 - /deliveryservices/{{ID}}/safe returns incorrect response for the requested API version
    • #5984 - /servers/{{ID}}/deliveryservices returns incorrect response for the requested API version
    • #6027 - Collapsed DB migrations
    • #6066 - Fixed missing/incorrect indices on some tables
    • #5576 - Inconsistent Profile Name restrictions
    • Fixed Federations IMS so TR federations watcher will get updates.
    • #6093 - Fixed Let's Encrypt to work for delivery services where the domain does not contain the XMLID.
    • #5893 - A self signed certificate is created when an HTTPS delivery service is created or an HTTP delivery service is updated to HTTPS.

    Changed

    • Updated the Traffic Ops Python client to 3.0
    • apache/trafficcontrol is now a Go module
    • Updated Traffic Ops supported database version from PostgreSQL 9.6 to 13.2
    • #3342 - Updated the db/admin tool to use Migrate instead of Goose and converted the migrations to Migrate format (split up/down for each migration into separate files)
    • Refactored the Traffic Ops - Traffic Vault integration to more easily support the development of new Traffic Vault backends
    • Improved the DNSSEC refresh Traffic Ops API (/cdns/dnsseckeys/refresh). As of TO API v4, its method is PUT instead of GET, its response format was changed to return an alert instead of a string-based response, it returns a 202 instead of a 200, and it now works with the async_status API in order for the client to check the status of the async job: #3054
    • Delivery Service Requests now keep a record of the changes they make.
    • Changed the goose provider to the maintained fork github.com/kevinburke/goose
    • The format of the /servers/{{host name}}/update_status Traffic Ops API endpoint has been changed to use a top-level response property, in keeping with (most of) the rest of the API.
    • The API v4 Traffic Ops Go client has been overhauled compared to its predecessors to have a consistent call signature that allows passing query string parameters and HTTP headers to any client method.
    • Go version 1.17 is used to compile Traffic Ops, T3C, Traffic Monitor, Traffic Stats, and Grove.
    • #6179 Updated the Traffic Ops rpm to include the ToDnssecRefresh binary and make the trafops_dnssec_refresh cron job use it

    Deprecated

    • The Riak Traffic Vault backend is now deprecated and its support may be removed in a future release. It is highly recommended to use the new PostgreSQL backend instead.
    • The riak.conf config file and its corresponding --riakcfg option in traffic_ops_golang have been deprecated. Please use "traffic_vault_backend": "riak" and "traffic_vault_config" (with the existing contents of riak.conf) instead.
    • The Traffic Ops API route GET /api/{version}/vault/bucket/{bucket}/key/{key}/values has been deprecated and will no longer be available as of Traffic Ops API v4
    • The Traffic Ops API route POST /api/{version}/deliveryservices/request has been deprecated and will no longer be available as of Traffic Ops API v4
    • The Traffic Ops API routes GET /api/{version}/cachegroupparameters, POST /api/{version}/cachegroupparameters, GET /api/{version}/cachegroups/{id}/parameters, and DELETE /api/{version}/cachegroupparameters/{cachegroupID}/{parameterId} have been deprecated and will no longer be available as of Traffic Ops API v4
    • The riak_port option in cdn.conf is now deprecated. Please use the "port" field in traffic_vault_config instead.
    • With the release of ATC v6.0, major API version 2 is now deprecated, subject to removal with the next ATC major version release, at the earliest.

    Removed

    • Removed the unused backend_max_connections option from cdn.conf.
    • Removed the Long Description 2 and Long Description 3 fields of DeliveryService from the UI, and changed the backend so that routes corresponding API 4.0 and above no longer accept or return these fields.
    • The Perl implementation of Traffic Ops has been stripped out, along with the Go implementation's "fall-back to Perl" behavior.
    • Traffic Ops no longer includes an app/public directory, as the static webserver has been removed along with the Perl Traffic Ops implementation. Traffic Ops also no longer attempts to download MaxMind GeoIP City databases when running the Traffic Ops Postinstall script.
    • The compare tool stack has been removed, as it no longer serves a purpose.
    • Removed the Perl-only cdn.conf option geniso.iso_root_path
    • Traffic Ops API version 1

    Traffic Portal

    Added

    • Traffic Portal: #5318 - Rename server columns for IPv4 address fields.
    • Traffic Portal: #5361 - Added the ability to change the name of a topology.
    • Traffic Portal: #5340 - Added the ability to resend a user registration from user screen.
    • Traffic Portal: Adds the ability for operations/admin users to create a CDN-level notification.
    • Traffic Portal: upgraded delivery service UI tables to use more powerful/performant ag-grid component
    • #5316 - Add router host names and ports on a per interface basis, rather than a per server basis.
    • Added headers to Traffic Portal, Traffic Ops, and Traffic Monitor to opt out of tracking users via Google FLoC.

    Fixed

    • #5384 - New grids will now properly remember the current page number.
    • Converted TP Delivery Service Servers Assignment table to ag-grid
    • Converted TP Cache Checks table to ag-grid
    • #5576 - Inconsistent Profile Name restrictions

    Changed

    • Migrated completely off of bower in favor of npm
    • Updated Flot libraries to supported versions

    Traffic Stats

    Fixed

    • #5492 - Traffic Stats does not failover to another Traffic Monitor when one stops responding

    Changed

    • apache/trafficcontrol is now a Go module
    • Go version 1.17 is used to compile Traffic Ops, T3C, Traffic Monitor, Traffic Stats, and Grove.

    Traffic Monitor

    Added

    • Added headers to Traffic Portal, Traffic Ops, and Traffic Monitor to opt out of tracking users via Google FLoC.
    • Added a Traffic Monitor integration test framework.

    Fixed

    • #6129 - Traffic Monitor start doesn't recover when Traffic Ops is unavailable
    • #6048 - TM sometimes sets cachegroups to unavailable even though all caches are online
    • Fixed a logging bug in Traffic Monitor where it wouldn't log errors in certain cases where a backup file could be used instead. Also, Traffic Monitor now rejects monitoring snapshots that have no delivery services.
    • #5863 - Traffic Monitor logs warnings to log_location_info instead of log_location_warning
    • #5129 - Updated TM so that it returns a 404 if the endpoint is not supported.

    Changed

    • apache/trafficcontrol is now a Go module
    • Go version 1.17 is used to compile Traffic Ops, T3C, Traffic Monitor, Traffic Stats, and Grove.

    Removed

    • Removed the unused http_poll_no_sleep, max_stat_history, max_health_history, cache_health_polling_interval_ms, cache_stat_polling_interval_ms, and peer_polling_interval_ms Traffic Monitor config options.

    Traffic Router

    Added

    • Traffic Router: added new 'dnssec.rrsig.cache.enabled' profile parameter to enable new DNSSEC RRSIG caching functionality. Enabling this greatly reduces CPU usage during the DNSSEC signing process.
    • Traffic Router: added new 'strip.special.query.params' profile parameter to enable stripping the 'trred' and 'fakeClientIpAddress' query parameters from responses: #1065
    • Traffic Router: Added svc="..." field to request logging output.

    Fixed

    • Fixed a NullPointerException in TR when a client passes a null SNI hostname in a TLS request
    • #5893 - A self signed certificate is created when an HTTPS delivery service is created or an HTTP delivery service is updated to HTTPS.

    Changed

    • Set Traffic Router to also accept TLSv1.3 protocols by default in server.xml
    • Changed the Traffic Router package structure from com.comcast.cdn.* to org.apache.*
    • Updated Apache Tomcat from 8.5.63 to 9.0.43
    • Updated BouncyCastle libraries in Traffic Router to v1.68.

    Cache Config

    Added

    • t3c (Traffic Control Cache Config) has replaced ORT and atstccfg. t3c now uses separate apps, full run syntax changed to t3c apply ..., moved to cache-config and RPM changed to trafficcontrol-cache-config. See cache-config README.md.
    • Added ORT flag to set local.dns bind address from server service addresses
    • #5644 ORT config generation: Added ATS9 ip_allow.yaml support, and automatic generation if the server's package Parameter is 9.*
    • t3c: Added option to track config changes in git.
    • ORT config generation: Added a rule to ip_allow such that PURGE requests are allowed over localhost
    • t3c: bug fix to consider plugin config files for reloading remap.config
    • t3c: add flag to wait for parents in syncds mode
    • t3c: Change syncds so that it only warns on package version mismatch.
    • atstccfg: add ##REFETCH## support to regex_revalidate.config processing.
    • Added t3c caching Traffic Ops data and using If-Modified-Since to avoid unnecessary requests.
    • Added t3c --no-outgoing-ip flags.
    • Enhanced ort integration test for reload states
    • Added support for DS plugin parameters for cachekey, slice, cache_range_requests, background_fetch, url_sig as remap.config parameters.

    Fixed

    • Fixed t3c to generate topology parents correctly for parents with the Type MID+ or EDGE+ versus just the literal. Naming cache types to not be exactly 'EDGE' or 'MID' is still discouraged and not guaranteed to work, but it's unfortunately somewhat common, so this fixes it in one particular case.
    • Fixed t3c to create config files and directories as ats.ats
    • Fixed t3c-apply service restart and ats config reload logic.
    • #6091 - Fixed cache config of internal cache communication for https origins
    • #6169 - Fixed t3c-update not updating server status when a fallback to a previous Traffic Ops API version occurred
    • #6174 - Fixed t3c-apply with no hostname failing if the OS hostname returns a full FQDN

    Changed

    • apache/trafficcontrol is now a Go module
    • Go version 1.17 is used to compile Traffic Ops, T3C, Traffic Monitor, Traffic Stats, and Grove.

    Deprecated

    • The traffic_ops_ort.pl tool has been deprecated in favor of t3c, and will be removed in the next major version.

    Removed

    • t3c dispersion flags. These flags existed in ort.pl and t3c, but the feature has been removed in t3c-apply. The t3c run is fast enough now, there's no value or need in internal logic, operators can easily use shell pipelines to randomly sleep before running if necessary.
    Source code(tar.gz)
    Source code(zip)
    apache-trafficcontrol-6.0.0-docs.tar.gz(13.66 MB)
    apache-trafficcontrol-6.0.0.tar.gz(46.37 MB)
    grove-0.2-11592.5a2eea21.el8.x86_64.rpm(2.14 MB)
    grovetccfg-0.2-11592.5a2eea21.el8.x86_64.rpm(2.10 MB)
    tomcat-9.0.43-1.el8.noarch.rpm(9.38 MB)
    trafficcontrol-cache-config-6.0.0-11592.5a2eea21.el8.src.rpm(17.68 KB)
    trafficcontrol-cache-config-6.0.0-11592.5a2eea21.el8.x86_64.rpm(14.55 MB)
    traffic_monitor-6.0.0-11592.5a2eea21.el8.src.rpm(3.02 MB)
    traffic_monitor-6.0.0-11592.5a2eea21.el8.x86_64.rpm(2.46 MB)
    traffic_ops-6.0.0-11592.5a2eea21.el8.src.rpm(14.55 MB)
    traffic_ops-6.0.0-11592.5a2eea21.el8.x86_64.rpm(13.67 MB)
    traffic_portal-6.0.0-11592.5a2eea21.el8.src.rpm(2.14 MB)
    traffic_portal-6.0.0-11592.5a2eea21.el8.x86_64.rpm(5.04 MB)
    traffic_router-6.0.0-11592.5a2eea21.el8.x86_64.rpm(47.85 MB)
    traffic_stats-6.0.0-11592.5a2eea21.el8.src.rpm(6.39 MB)
    traffic_stats-6.0.0-11592.5a2eea21.el8.x86_64.rpm(5.53 MB)
  • v5.1.3(Oct 12, 2021)

  • v5.1.2(May 18, 2021)

    Apache Traffic Control 5.1.2

    Released May 17th, 2021

    Downloads

    Apache Traffic Control 5.1.2 is available here:

    Release Notes

    Fixed

    • Fixed the return error for GET api cdns/routing to avoid incorrect success response.
    • #5712 - Ensure that 5.x Traffic Stats is compatible with 5.x Traffic Monitor and 5.x Traffic Ops, and that it doesn't log all 0's for cache_stats
    • Fixed ORT being unable to update URLSIG keys for Delivery Services
    • Fixed ORT service category header rewrite for mids and topologies.
    • Fixed an issue where Traffic Ops becoming unavailable caused Traffic Monitor to segfault and crash
    • #5754 - Ensure Health Threshold Parameters use legacy format for legacy Monitoring Config handler
    • #5695 - Ensure vitals are calculated only against monitored interfaces
    • Fixed Traffic Monitor to report ONLINE caches as available.
    • #5744 - Sort TM Delivery Service States page by DS name
    • #5724 - Set XMPPID to hostname if the server had none, don't error on server update when XMPPID is empty
    • #5739 - Prevent looping in case of a failed login attempt
    Source code(tar.gz)
    Source code(zip)
    apache-trafficcontrol-5.1.2-docs.tar.gz(14.15 MB)
    grove-0.2-11171.8892beff.x86_64.rpm(2.19 MB)
    grovetccfg-0.2-11171.8892beff.x86_64.rpm(2.91 MB)
    tomcat-8.5.63-11171.8892beff.el8.x86_64.rpm(8.49 MB)
    traffic_monitor-5.1.2-11171.8892beff.el8.x86_64.rpm(3.31 MB)
    traffic_ops-5.1.2-11171.8892beff.el8.x86_64.rpm(7.04 MB)
    traffic_ops_ort-5.1.2-11171.8892beff.el8.x86_64.rpm(5.46 MB)
    traffic_portal-5.1.2-11171.8892beff.el8.x86_64.rpm(5.01 MB)
    traffic_router-5.1.2-11171.8892beff.el8.x86_64.rpm(47.66 MB)
    traffic_stats-5.1.2-11171.8892beff.el8.x86_64.rpm(6.42 MB)
  • v5.1.1(Apr 1, 2021)

    Apache Traffic Control 5.1.1

    Released April 1st, 2021

    Downloads

    Apache Traffic Control 5.1.1 is available here:

    Release Notes

    Added

    • Atscfg: Added a rule to ip_allow such that PURGE requests are allowed over localhost

    Fixed

    • #5565 - TO GET /caches/stats panic converting string to uint64
    • #5558 - Fixed TM UI and /api/cache-statuses to report aggregate bandwidth_kbps correctly.
    • Fix for config gen missing max_origin_connections on mids in certain scenarios
    • #5192 - Fixed TO log warnings when generating snapshots for topology-based delivery services.
    • Fixed Invalid TS logrotate configuration permissions causing TS logs to be ignored by logrotate.
    • #5604 - traffic_monitor.log is no longer truncated when restarting Traffic Monitor
    • #1624 - Fixed ORT to reload Traffic Server if LUA scripts are added or changed.
    • #5554 - TM UI overflows screen width and hides table data
    Source code(tar.gz)
    Source code(zip)
    apache-trafficcontrol-5.1.1-docs.tar.gz(21.84 MB)
    grove-0.2-11152.94539b43.x86_64.rpm(2.19 MB)
    grovetccfg-0.2-11152.94539b43.x86_64.rpm(2.92 MB)
    tomcat-8.5.63-11152.94539b43.el8.x86_64.rpm(8.49 MB)
    traffic_monitor-5.1.1-11152.94539b43.el8.x86_64.rpm(3.32 MB)
    traffic_ops-5.1.1-11152.94539b43.el8.x86_64.rpm(7.05 MB)
    traffic_ops_ort-5.1.1-11152.94539b43.el8.x86_64.rpm(5.47 MB)
    traffic_portal-5.1.1-11152.94539b43.el8.x86_64.rpm(5.00 MB)
    traffic_router-5.1.1-11152.94539b43.el8.x86_64.rpm(47.66 MB)
    traffic_stats-5.1.1-11152.94539b43.el8.x86_64.rpm(6.43 MB)
  • v5.1.0(Mar 12, 2021)

    Apache Traffic Control 5.1.0

    Released March 11th, 2021

    Downloads

    Apache Traffic Control 5.1.0 is available here:

    Release Notes

    Added

    • Traffic Portal: #5394 - Converts the tenant table to a tenant tree for usability
    • Traffic Portal: #5317 - Clicking IP addresses in the servers table no longer navigates to server details page.
    • Traffic Portal: upgraded delivery service UI tables to use more powerful/performant ag-grid component
    • Traffic Ops: added a feature so that the user can specify maxRequestHeaderBytes on a per delivery service basis
    • Traffic Router: log warnings when requests to Traffic Monitor return a 503 status code
    • #5344 - Add a page that addresses migrating from Traffic Ops API v1 for each endpoint
    • #5296 - Fixed a bug where users couldn't update any regex in Traffic Ops/ Traffic Portal
    • Added API endpoints for ACME accounts
    • Traffic Ops: Added validation to ensure that the cachegroups of a delivery services' assigned ORG servers are present in the topology
    • Traffic Ops: Added validation to ensure that the weight parameter of parent.config is a float
    • Traffic Ops Client: New Login function with more options, including falling back to previous minor versions. See traffic_ops/v3-client documentation for details.
    • Added license files to the RPMs

    Fixed

    • #5445 - When updating a registered user, ignore updates on registration_sent field.
    • #5335 - Don't create a change log entry if the delivery service primary origin hasn't changed
    • #5333 - Don't create a change log entry for any delivery service consistent hash query params updates
    • #5341 - For a DS with existing SSLKeys, fixed HTTP status code from 403 to 400 when updating CDN and Routing Name (in TO) and made CDN and Routing Name fields immutable (in TP).
    • #5192 - Fixed TO log warnings when generating snapshots for topology-based delivery services.
    • #5284 - Fixed error message when creating a server with non-existent profile
    • #5287 - Fixed error message when creating a Cache Group with no typeId
    • #5382 - Fixed API documentation and TP helptext for "Max DNS Answers" field with respect to DNS, HTTP, Steering Delivery Service
    • #5396 - Return the correct error type if user tries to update the root tenant
    • #5378 - Updating a non existent DS should return a 404, instead of a 500
    • Fixed a potential Traffic Router race condition that could cause erroneous 503s for CLIENT_STEERING delivery services when loading new steering changes
    • #5195 - Correctly show CDN ID in Changelog during Snap
    • #5438 - Correctly specify nodejs version requirements in traffic_portal.spec
    • Fixed Traffic Router logging unnecessary warnings for IPv6-only caches
    • #5294 - TP ag grid tables now properly persist column filters on page refresh.
    • #5295 - TP types/servers table now clears all filters instead of just column filters
    • #5407 - Make sure that you cannot add two servers with identical content
    • #2881 - Some API endpoints have incorrect Content-Types
    • #5311 - Better TO log messages when failures calling TM CacheStats
    • #5364 - Cascade server deletes to delete corresponding IP addresses and interfaces
    • #5390 - Improve the way TO deals with delivery service server assignments
    • #5339 - Ensure Changelog entries for SSL key changes
    • #5461 - Fixed steering endpoint to be ordered consistently
    • #5395 - Added validation to prevent changing the Type any Cache Group that is in use by a Topology
    • Fixed an issue with 2020082700000000_server_id_primary_key.sql trying to create multiple primary keys when there are multiple schemas.
    • Fix for public schema in 2020062923101648_add_deleted_tables.sql
    • Moved move_lets_encrypt_to_acme.sql, add_max_request_header_size_delivery_service.sql, and server_interface_ip_address_cascade.sql past last migration in 5.0.0
    • #5505 - Make parent_reval_pending for servers in a Flexible Topology CDN-specific on GET /servers/{name}/update_status

    Changed

    • Refactored the Traffic Ops Go client internals so that all public methods have a consistent behavior/implementation
    • Pinned external actions used by Documentation Build and TR Unit Tests workflows to commit SHA-1 and the Docker image used by the Weasel workflow to a SHA-256 digest
    • Set Traffic Router to only accept TLSv1.1 and TLSv1.2 protocols in server.xml
    • Updated Apache Tomcat from 8.5.57 to 8.5.63
    • Updated Apache Tomcat Native from 1.2.16 to 1.2.23
    Source code(tar.gz)
    Source code(zip)
    apache-trafficcontrol-5.1.0-docs.tar.gz(21.83 MB)
    apache-trafficcontrol-5.1.0.tar.gz(48.29 MB)
    grove-0.2-11137.b8290a14.x86_64.rpm(2.19 MB)
    grovetccfg-0.2-11137.b8290a14.x86_64.rpm(2.92 MB)
    tomcat-8.5.63-11137.b8290a14.el7.x86_64.rpm(8.49 MB)
    tomcat-8.5.63-11137.b8290a14.el8.x86_64.rpm(8.49 MB)
    traffic_monitor-5.1.0-11137.b8290a14.el7.x86_64.rpm(3.32 MB)
    traffic_monitor-5.1.0-11137.b8290a14.el8.x86_64.rpm(3.32 MB)
    traffic_ops-5.1.0-11137.b8290a14.el7.x86_64.rpm(7.05 MB)
    traffic_ops-5.1.0-11137.b8290a14.el8.x86_64.rpm(7.05 MB)
    traffic_ops_ort-5.1.0-11137.b8290a14.el7.x86_64.rpm(5.47 MB)
    traffic_ops_ort-5.1.0-11137.b8290a14.el8.x86_64.rpm(5.47 MB)
    traffic_portal-5.1.0-11137.b8290a14.el7.x86_64.rpm(5.00 MB)
    traffic_portal-5.1.0-11137.b8290a14.el8.x86_64.rpm(5.00 MB)
    traffic_router-5.1.0-11137.b8290a14.el7.x86_64.rpm(47.66 MB)
    traffic_router-5.1.0-11137.b8290a14.el8.x86_64.rpm(47.66 MB)
    traffic_stats-5.1.0-11137.b8290a14.el7.x86_64.rpm(6.43 MB)
    traffic_stats-5.1.0-11137.b8290a14.el8.x86_64.rpm(6.43 MB)
  • v5.0.0(Jan 22, 2021)

    Apache Traffic Control 5.0.0

    Released January 21st, 2021

    Downloads

    Apache Traffic Control 5.0.0 is available here:

    Release Notes

    Added

    • A transliteration of the traffic_ops_ort.pl Perl script to the Go language. See traffic_ops_ort/t3c/README.md

    • Traffic Ops API v3

    • Flexible Topologies

      For full details, refer tothe blueprint.

      • Added a Traffic Ops API v3.0 endpoint: /topologies, to create, read, update and delete flexible topologies
      • Added the ability to queue or dequeue updates for all servers assigned to the Cachegroups in a given Topology
      • Added new "Topology" property to Delivery Services as an alternative to direct server assignments
      • Added "Topology" section to CDN Snapshot Comparison page
      • The CiaB default Delivery Service is now "Topology-based"
    • Edge Traffic Routing - a feature which allows Traffic Router to localize more DNS record types than just the routing name for DNS Delivery Services

    • Traffic Portal table performance improvements

      We've begun the process of shifting away from jQuery-plugin-based "data tables" to the much more performant AG-Grid table system.

      So far the following tables have been improved:

      • Servers - including when viewing the servers assigned to a Delivery Service etc.
      • The API Change Log table
      • DSRs
    • astats_over_http plugin CSV support

      The astats_over_http plugin for ATS now supports outputting data in CSV format when given the text/csv MIME-Type in the Accept header. Traffic Monitor is capable of requesting this new format (which is faster to parse than the JSON format) in its Profile's http_polling_format Parameter.

      As 5.0.0 also adds support to Traffic Monitor for the more standard stats_over_http plugin, CSV format using that

      health.polling.format value is also supported - but note that one must also install the system_stats plugin to provide all of the data necessary for Traffic Monitor's evaluations. Note also that this usage requires ATS version 9 or higher.

    • Multi-Interface Servers

      Servers are now allowed to have multiple network interfaces specified. For full details, refer to the blueprint.

      • Traffic Portal allows editing of a server's interfaces
      • Traffic Ops exposes server interface data in response payloads
      • Traffic Monitor is capable of evaluating a set of network interfaces, optionally with some limited thresholds set on any, all, or none of them
    • The ability to view Hash ID field (aka xmppId) on Traffic Portals' server summary page

    • The ability to delete invalidation requests, accessible in Traffic Portal

    • A UI indiciator to the Traffic Monitor when using a disk backup of configuration from Traffic Ops.

    • Support for the If-Match and If-Unmodified-Since HTTP headers to Traffic Ops and its native Go client

    • The "Status Last Updated" field to servers, which makes visible the time when the last status change took place for a server

    • TR using the default miss location of a Delivery Service in case the location (for the client's IP address) returned was the default location for the country

    • Traffic Ops, Traffic Ops ORT, Traffic Monitor, Traffic Stats, and Grove are now compiled using Go version 1.15

    • User-Agent string to Traffic Router log output

    • locationByDeepCoverageZone to the crs/stats/ip/{{ip}} endpoint in the Traffic Router API

    • The number of days of API change logs to fetch is now configurable in traffic_portal_properties.json (default is 7 days) and can be overridden by the user in Traffic Portal

    • Support for building RPMs that target CentOS version 8

    Fixed

    • #3455 - Alphabetically sorting CDN Read API call
    • #5010 - Fixed Reference urls for Cache Config on Delivery service pages (HTTP, DNS) in Traffic Portal
    • #5147 - GET /servers?dsId={id} should only return mid servers (in addition to edge servers) for the CDN of the Delivery Service if the mid-tier is employed
    • #4981 - Cannot create routing regular expression with a blank pattern param in Delivery Service
    • #4979 - Returns a Bad Request error during server creation with missing profileId
    • #4237 - Do not return an internal server error when Delivery Service's capacity is zero.
    • #2712 - Invalid TM logrotate configuration permissions causing TM logs to be ignored by logrotate
    • #3400 - Allow "0" as a TTL value for Static DNS entries
    • #5050 - Allows the TP administrator to name a TP instance (production, staging, etc) and flag whether it is production or not in traffic_portal_properties.json
    • #4743 - Validate absolute DNS name requirement on Static DNS entry for CNAME type
    • #4848 - GET /api/x/cdns/capacity gives back 500, with the message capacity was zero
    • #2156 - Renaming a host in TC, does not impact xmpp_id and thereby hashid
    • #3661 - Anonymous Proxy ipv4 whitelist does not work
    • #1847 - Delivery Service with SSL keys are no longer allowed to be updated when the fields changed are relevant to the SSL Keys validity.
    • Fixed the /jobs and /jobs/:id Traffic Ops API routes to allow falling back to Perl via the routing blacklist
    • Fixed ORT config generation not using the coalesce_number_v6 Parameter.
    • #4735 - Fixed POST deliveryservices/request (designed to simple send an email) regression which erroneously required deep caching type and routing name
    • Fixed an issue that caused Traffic Monitor to poll caches that did not have the status ONLINE/REPORTED/ADMIN_DOWN
    • #4740- Fixed /deliveryservice_stats regression restricting metric type to a predefined set of values
    • #4116- Fixed update procedure of servers, so that if a server is linked to one or more delivery services, you cannot change its CDN
    • Fixed ORT bug miscalculating Mid Max Origin Connections as all servers, usually resulting in 1
    • Added Delivery Service Raw Remap __RANGE_DIRECTIVE__ directive to allow inserting the Range Directive after the Raw Remap text. This allows Raw Remaps which manipulate the Range
    • #4984 - Lets create_tables.sql be run concurrently without issue

    Changed

    • When creating invalidation jobs through TO/TP, if an identical regex is detected that overlaps its time, then warnings will be returned indicating that overlap exists.
    • Changed Traffic Portal to disable browser caching on GETs until it utilizes the If-Modified-Since functionality that the TO API now provides.
    • Changed Traffic Portal to use Traffic Ops API v3
    • Changed ORT to find the local ATS config directory and use it when location Parameters don't exist for many required configs, including all Delivery Service files (Header Rewrites, Regex Remap, URL Sig, URI Signing).
    • Changed the access logs in Traffic Ops to now show the route ID with every API endpoint call. The Route ID is appended to the end of the access log line.
    • Changed the format of Traffic Monitor's tmconfig.backup to that of a GET request to /cdns/{{name}}/configs/monitoring instead of a transformed map
    • Changed Tomcat Java dependency to 8.5.57.
    • Changed Spring Framework Java dependency to 4.2.5.
    • Updated CiaB to CentOS 8

    Deprecated

    • Importing Traffic Ops Go clients via the un-versioned github.com/apache/trafficcontrol/traffic_ops/client is now deprecated in favor of versioned import paths e.g. github.com/apache/trafficcontrol/traffic_ops/v3-client.

    Removed

    • Removed deprecated Traffic Ops Go Client methods.
    • Configuration generation logic in the TO API (v1) for all files and the "meta" route - this means that versions of Traffic Ops ORT earlier than 4.0.0 will not work any longer with versions of Traffic Ops moving forward.
    • Removed from Traffic Portal the ability to view cache server config files as the contents are no longer reliable through the TO API due to the introduction of atstccfg.
    Source code(tar.gz)
    Source code(zip)
    apache-trafficcontrol-5.0.0-docs.tar.gz(21.89 MB)
    Apache_TrafficControl-2.0.2-py3-none-any.whl(28.30 KB)
    grove-0.2-11062.19c0487f.x86_64.rpm(2.18 MB)
    grovetccfg-0.2-11062.19c0487f.x86_64.rpm(2.91 MB)
    tomcat-8.5.57-11062.19c0487f.el8.x86_64.rpm(8.41 MB)
    traffic_monitor-5.0.0-11062.19c0487f.el8.x86_64.rpm(3.32 MB)
    traffic_ops-5.0.0-11062.19c0487f.el8.x86_64.rpm(7.01 MB)
    traffic_ops_ort-5.0.0-11062.19c0487f.el8.x86_64.rpm(5.47 MB)
    traffic_portal-5.0.0-11062.19c0487f.el8.x86_64.rpm(4.99 MB)
    traffic_router-5.0.0-11062.19c0487f.el8.x86_64.rpm(47.65 MB)
    traffic_stats-5.0.0-11062.19c0487f.el8.x86_64.rpm(6.41 MB)
  • RELEASE-4.1.1(Dec 4, 2020)

    Added

    • Added the ability to set TLS config provided here: https://golang.org/pkg/crypto/tls/#Config in Traffic Ops
    • Added --traffic_ops_insecure=<0|1> optional option to traffic_ops_ort.pl
    • Added ORT CentOS 8 support

    Fixed

    • Fixed #5188 - DSR (delivery service request) incorrectly marked as complete and error message not displaying when DSR fulfilled and DS update fails in Traffic Portal. Related Github issues
    • Fixed #5006 - Traffic Ops now generates the Monitoring on-the-fly if the snapshot doesn't exist, and logs an error. This fixes upgrading to 4.x to not break the CDN until a Snapshot is done.
    • Fixed #5180 - Global Max Mbps and Tps is not send to TM
    • Fixed #3528 - Fix Traffic Ops monitoring.json missing DeliveryServices
    • Fixed #5074 - Traffic Monitor logging "CreateStats not adding availability data for server: not found in DeliveryServices" for MID caches
    • Fixed #5274 - CDN in a Box's Traffic Vault image failed to build due to Basho's repo responding with 402 Payment Required. The repo has been removed from the image.
    • Fixed an issue that causes Traffic Router to mistakenly route to caches that had recently been set from ADMIN_DOWN to OFFLINE
    • Fixed a NullPointerException in Traffic Router that prevented it from properly updating cache health states
    • Fixed an issue where Traffic Router would erroneously return 503s or NXDOMAINs if the caches in a cachegroup were all unavailable for a client's requested IP version, rather than selecting caches from the next closest available cachegroup.
    • Traffic Ops Ort: Disabled ntpd verification (ntpd is deprecated in CentOS)
    • Fixed #5005: Traffic Monitor cannot be upgraded independently of Traffic Ops
    • Fixed an issue with Traffic Router failing to authenticate if secrets are changed
    • Fixed #4825 - Traffic Monitor error log spamming "incomparable stat type int"
    • Fixed #4899 - Traffic Monitor Web UI showing incorrect delivery service availability states
    • Fixed Traffic Monitor Web UI styling for unavailable caches
    • Fixed an issue with Traffic Monitor to fix peer polling to work as expected
    • Fixed #4845 - issue with ATS logging.yaml generation (missing newlines when filters are used)
    • Fixed ORT atstccfg to use log appending and log rotation
    • Fixed a bug in ATS remap.config generation that caused a double range directive if there was a __RANGE_DIRECTIVE__ override
    • Fixed ORT to be backwards compatible with Traffic Ops 3.x

    Changed

    • Changed ORT/atstccfg ATS configuration generation to be deterministic in order to simplify diff checking
    • Changed ORT to not update ip_allow.config on SYNCDS runs by default

    Deprecated

    • Deprecated the insecure option in traffic_ops_golang in favor of "tls_config": { "InsecureSkipVerify": <bool> }
    Source code(tar.gz)
    Source code(zip)
  • RELEASE-4.1.0(Jun 17, 2020)

    Release Notes

    Note: these are abbreviated release notes. For more information, see the full changelog.

    New Features

    • Added support for Let's Encrypt
    • Support for ATS Slice plugin in Traffic Ops, including new Delivery Service Raw Remap __RANGE_DIRECTIVE__ directive
    • Ability to enable EDNS0 client subnet at the delivery service level
    • New IPv6 changes:
      • Traffic Portal and Traffic Ops now accept IPv6-only servers
      • Traffic Monitor now polls caches over IPv6 in addition to IPv4, separating the availability status of each (make sure to update the allow_ip6 profile parameter to include the IPv6 addresses of your Traffic Monitors, otherwise they will fail to poll over IPv6 and consider those caches to be unavailable over IPv6)
      • Traffic Router will route IPv4 clients to caches with IPv4 availability and route IPv6 clients to caches with IPv6 availability
    • Traffic Router DNSSEC zone diffing performance enhancement
    • Traffic Monitor optimistic quorum
    • Traffic Ops API 2.0. This new major API version contains several new routes but does not contain many deprecated routes from API 1.x (which will be available until the ATC 5.0 release). API clients should begin migrating to API 2.0 as soon as possible. For the full lists of new or deprecated routes, please see the changelog.
    • Ability to choose the TLS version used for Traffic Ops to make requests to Traffic Vault. Note: the default is now TLSv1.1, which may require configuration changes to Riak. See Enabling TLS 1.1

    Bug Fixes

    This release contains many new bug fixes. For the full list, please see the changelog.

    Removals

    • The Traffic Ops db/admin.pl script has now been removed. Please use the db/admin binary instead.
    • Removed from Traffic Portal the ability to view cache server config files as the contents are no longer reliable through the TO API due to the introduction of atstccfg.
    • Traffic Ops Python client no longer supports Python 2.
    Source code(tar.gz)
    Source code(zip)
  • RELEASE-4.0.0(Mar 27, 2020)

    Release Notes

    Traffic Ops

    • Server Capabilities: server capabilities can now be created and assigned to servers. Delivery services can now require certain server capabilities, and servers that lack the required capabilities will not serve those delivery services. As as an example, by default, MID caches will serve all delivery services in a given CDN, but this feature can be used to allow a only a subset of MID caches to serve certain delivery services (based on the server capabilities assigned to the MID caches and required by the delivery services). See the blueprint
    • Certificate deletion upon delivery service deletion: Snapshotting the CRConfig now deletes HTTPS certificates in Riak for delivery services which have been deleted in Traffic Ops.
    • SSO login using OAuth: Traffic Ops now provides the ability to login using an OAuth provider, and this functionality is now integrated in Traffic Portal. A field is added to cdn.conf to configure whitelisted URLs for Json Key Set URL returned from OAuth provider. Added fields to traffic_portal_properties.json to configure SSO through OAuth for Traffic Portal.
    • API rewrite from Perl to Go: A large number of API endpoints were rewritten from Perl to Go
    • API Routing Blacklist: via the routing_blacklist field in cdn.conf, enable certain whitelisted Go routes to be handled by Perl instead (via the perl_routes list) in case a regression is found in the Go handler, and explicitly disable any routes via the disabled_routes list. Requests to disabled routes are immediately given a 503 response. Both fields are lists of Route IDs, and route information (ID, version, method, path, and whether or not it can bypass to Perl) can be found by running ./traffic_ops_golang --api-routes. To disable a route or have it bypassed to Perl, find its Route ID using the previous command and put it in the disabled_routes or perl_routes list, respectively.
    • Regional Geo-blocking for steering delivery services: Regional Geo-blocking is now supported for steering-based delivery services
    • Added pagination support to some Traffic Ops endpoints via three new query parameters, limit and offset/page
    • Traffic Ops now supports a "sortOrder" query parameter on some endpoints to return API responses in descending order
    • Traffic Ops now uses a consistent format for audit logs across all Go endpoints
    • Added an optional SMTP server configuration to the TO configuration file, api now has ability to send emails
    • To support reusing a single riak cluster connection, an optional parameter is added to riak.conf: "HealthCheckInterval". This options takes a 'Duration' value (ie: 10s, 5m) which affects how often the riak cluster is health checked. Default is currently set to: "HealthCheckInterval": "5s".
    • Fixed a regression where the Expires cookie header was not being set properly in responses. Also, added the Max-Age cookie header in responses.
    • Fixed issue #3497: TO API clients that don't specify the latest minor version will overwrite/default any fields introduced in later versions
    • Fixed issue #3587: Fixed Traffic Ops Golang reverse proxy and Riak logs to be consistent with the format of other error logs.
    • Database migrations have been collapsed. Rollbacks to 3.1 and earlier migrations are no longer possible. As always, backup your database before upgrading.

    Deprecations

    • The TO API /cachegroup_fallbacks endpoint is now deprecated. That functionality was added to the /cachegroups API.
    • The db/admin.pl script is now deprecated. There is a new Go db/admin binary to replace the Perl db/admin.pl script, which will be removed in a future release. The new db/admin binary is essentially a drop-in replacement for db/admin.pl since it supports all of the same commands and options; therefore, it should be used in place of db/admin.pl for all the same tasks.

    Breaking changes

    • The deprecated Traffic Ops UI has been removed in favor of the Traffic Portal UI
    • The /api/1.1/osversions endpoint (used for ISO generation) now expects the Perl osversions.cfg configuration file to be JSON. Added a traffic_ops/app/bin/osversions-convert.pl script to convert the osversions.cfg file from Perl to JSON as part of the /osversions endpoint rewrite.
    • traffic_ops/app/bin/checks/ToDnssecRefresh.pl now requires "user" and "pass" parameters of an operations-level user! Update your scripts accordingly! This was necessary to move to an API endpoint with proper authentication, which may be safely exposed.

    Traffic Router

    • Consistent Hash Query Parameters: Traffic Ops now allows HTTP delivery services to have a set of query parameter keys to be retained for consistent hash generation by Traffic Router. This should be used for query parameters that produce unique content from the origin. For example, if the paths /foo?a=1 and /foo?a=2 each return unique content, you should add a to the list of consistent hash query parameters for that delivery service. This allows clients to be routed to edges for that content more efficiently.
    • Client Steering Forced Diversity: force Traffic Router to return more unique edge caches in CLIENT_STEERING results instead of the default behavior which can sometimes return a result of multiple targets using the same edge cache. In the case of edge cache failures, this feature will give clients a chance to retry a different edge cache. This can be enabled with the new client.steering.forced.diversity Traffic Router profile parameter.
    • Tunable bounded queue to support DNS request processing.
    • Default Certificate: TR now generates a self-signed certificate at startup and uses it as the default TLS cert. The default certificate is used whenever a client attempts an SSL handshake for an SNI host which does not match any of the other certificates.
    • TLS certificate validation on certificates imported from Traffic Ops:
      • validates modulus of private and public keys
      • validates current timestamp falls within the certificate date bracket
      • validates certificate subjects against the DS URL
    • Fixed a bug which would cause REFUSED DNS answers if the zone priming execution did not complete within the configured zonemanager.init.timeout period.
    • Fixed issue #2821: Traffic Router may choose wrong certificate when SNI names overlap
    • Modified Traffic Router logging format to include an additional field for DNS log entries, namely rhi. This defaults to '-' and is only used when EDNS0 client subnet extensions are enabled and a client subnet is present in the request. When enabled and a subnet is present, the subnet appears in the chi field and the resolver address is in the rhi field.
    • Fixed issue #3476: Traffic Router returns partial result for CLIENT_STEERING Delivery Services when Regional Geoblocking or Anonymous Blocking is enabled.
    • Modified Traffic Router API to be available via HTTPS.

    Traffic Portal

    • Added a context menu in place of the "Actions" column from the following tables in Traffic Portal: cache group tables, CDN tables, delivery service tables, parameter tables, profile tables, server tables.
    • Removed the need to specify line breaks using __RETURN__ in delivery service edge/mid header rewrite rules, regex remap expressions, raw remap text and traffic router additional request/response headers.
    • Provided the ability to clone delivery service assignments from one cache to another cache of the same type. Issue #2963.
    • Delivery service table columns can now be rearranged and their visibility toggled on/off as desired by the user. Hidden table columns are excluded from the table search. These settings are persisted in the browser.
    • Server table columns can now be rearranged and their visibility toggled on/off as desired by the user. Hidden table columns are excluded from the table search. These settings are persisted in the browser.
    • All tables now include a 'CSV' link to enable the export of table data in CSV format.
    • Fixed issue #3275: Improved the snapshot diff performance and experience.
    • Disabled TLSv1
    • The "Clone Delivery Service Assignments" menu item is now hidden on a cache when the cache has zero delivery service assignments to clone.
    • Users with a specified role now have the ability to mark any delivery service request as complete.
    • Improved profile comparison view in Traffic Portal.

    ORT

    • Cache-side ATS config generation: Added cache-side config generator, atstccfg, installed with ORT. Includes all configs. Includes a plugin system.
    • Fixed ATS config generation to omit regex remap, header rewrite, URL Sig, and URI Signing files for delivery services not assigned to that server.
    • Changed traffic_ops_ort.pl so that hdr_rw-.config files are compared with strict ordering and line duplication when detecting configuration changes.
    • Fix to traffic_ops_ort.pl to strip specific comment lines before checking if a file has changed. Also promoted a changed file message from DEBUG to ERROR for report mode.
    • ANYMAP override: in traffic_ops_ort.pl added the ability to handle ##OVERRIDE## delivery service ANY_MAP raw remap text to replace and comment out a base delivery service remap rules. Note: this is a temporary feature and may be replaced in the future.

    Traffic Monitor

    • Traffic Monitor now has "gbps" calculated stat, allowing operators to monitor bandwidth in Gbps.
    • Added monitoring.json snapshotting. This stores the monitoring json in the same TO database table as the crconfig snapshot. Snapshotting is now required in order to push out monitoring changes.
    • UI updated to support HTTP or HTTPS traffic.
    • health/stat time now includes full body download (like prior TM <=2.1 version)
    • Issue #3605: Fixed Traffic Monitor custom ports in health polling URL.
    • Issue #3646: Fixed Traffic Monitor Thresholds.
    Source code(tar.gz)
    Source code(zip)
  • RELEASE-3.0.0(Mar 6, 2019)

    • Removed MySQL-to-Postgres migration tools. This tool is supported for 1.x to 2.x upgrades only and should not be used with 3.x.
    • Backup Edge Cache group: If the matched group in the CZF is not available, this list of backup edge cache group configured via Traffic Ops API can be used as backup. In the event of all backup edge cache groups not available, GEO location can be optionally used as further backup. APIs detailed here
    • Traffic Ops Golang Proxy Endpoints
      • /api/1.3/origins (GET,POST,PUT,DELETE)
      • /api/1.3/coordinates (GET,POST,PUT,DELETE)
      • /api/1.3/staticdnsentries (GET,POST,PUT,DELETE)
    • Delivery Service Origins Refactor: The Delivery Service API now creates/updates an Origin entity on Delivery Service creates/updates, and the org_server_fqdn column in the deliveryservice table has been removed. The org_server_fqdn data is now computed from the Delivery Service's primary origin (note: the name of the primary origin is the xml_id of its delivery service).
    • Cachegroup-Coordinate Refactor: The Cachegroup API now creates/updates a Coordinate entity on Cachegroup creates/updates, and the latitude and longitude columns in the cachegroup table have been replaced with coordinate (a foreign key to Coordinate). Coordinates created from Cachegroups are given the name from_cachegroup_\<cachegroup name\>.
    • Geolocation-based Client Steering: two new steering target types are available to use for CLIENT_STEERING delivery services: STEERING_GEO_ORDER and STEERING_GEO_WEIGHT. When targets of these types have an Origin with a Coordinate, Traffic Router will order and prioritize them based upon the shortest total distance from client -> edge -> origin. Co-located targets are grouped together and can be weighted or ordered within the same location using STEERING_GEO_WEIGHT or STEERING_GEO_ORDER, respectively.
    • Tenancy is now the default behavior in Traffic Ops. All database entries that reference a tenant now have a default of the root tenant. This eliminates the need for the use_tenancy global parameter and will allow for code to be simplified as a result. If all user and delivery services reference the root tenant, then there will be no difference from having use_tenancy set to 0.
    • Cachegroup Localization Methods: The Cachegroup API now supports an optional localizationMethods field which specifies the localization methods allowed for that cachegroup (currently 'DEEP_CZ', 'CZ', and 'GEO'). By default if this field is null/empty, all localization methods are enabled. After Traffic Router has localized a client, it will only route that client to cachegroups that have enabled the localization method used. For example, this can be used to prevent GEO-localized traffic (i.e. most likely from off-net/internet clients) to cachegroups that aren't optimal for internet traffic.
    • Traffic Monitor Client Update: Traffic Monitor is updated to use the Traffic Ops v13 client.
    • Removed previously deprecated traffic_monitor_java
    • Added infrastructure/cdn-in-a-box for Apachecon 2018 demonstration
    • The CacheURL Delivery service field is deprecated. If you still need this functionality, you can create the configuration explicitly via the raw remap field.
    Source code(tar.gz)
    Source code(zip)
  • RELEASE-2.2.0(Jun 7, 2018)

    Changes with Traffic Control 2.2.0 #729 - Traffic Ops Golang Incremental Rewrite App #875 - TO API - should not be able to create / update a user with a higher role than your role #932 - [TC-482] Filtered UI View Persistence and Linking #942 - [TC-458] please add ilo link to servers main page #944 - [TC-429] TPv2 - remove map due to license compatibility issues #955 - [TC-26] Prepare Docker Environment for Traffic Portal #983 - [TC-443] TPv2 - add the ability to view cache config files #986 - [TC-544] TR should de-dupe Reponse Headers when sending a Steering response. #993 - [TC-515] Traffic Portal - Show human readable protocol on DS page #997 - [TC-472] traffic_ops/experimental - failure to assign servers to new Delivery Service #1022 - [TC-522] "Online Caches" on TP Dashboard is confusing #1049 - [TC-442] TPv2 - create user registration functionality #1053 - [TC-436] TPv2 - add the ability to manage DNSSEC keys #1055 - [TC-431] TPv2 - add the ability to compare 2 profiles #1059 - [TC-421] TPv2 - create cache health view #1099 - [TC-509] TO postinstall set default number of secrets to 1 #1109 - disable tm java build; enable tm golang #1130 - cacheurl is deprecated in ATS 7.x #1132 - TO - make password reset link configurable #1135 - Traffic Server administration docs are out of date #1146 - Traffic Ops Rewrite: /api/1.2/servers endpoint - with sqlx #1171 - Creating an invalidate content request (purge) on a delivery service should check tenancy (if turned on) #1173 - 'Multi Site Origin Algorithm' is removed in delivery service UI in traffic_ops in TC-2.1 #1183 - parent cachegroup is required for all cachegroup types in portal #1187 - api throws db error if no ports provided #1198 - Updated Traffic Ops ISO Generation process to work with management interfaces #1201 - TP cache stats (bandwidth and connection) charts wipe out data if API call fails #1219 - Generating DNSSEC keys for a brand new CDN thru the API creates DNSSEC keys for potentially the wrong delivery services and then results in a 500 internal server error #1222 - Delivery service sort by last updated column doesn't work #1226 - Provide the ability to configure defaults for delivery service creation #1252 - Tenant dropdowns don't visualize the tenant hierarchy #1268 - Generate ISO #1269 - TP Dashboard #1270 - Assign servers to DS #1271 - Ability to copy a profile #1273 - Ability to view cache config files #1275 - Ability to link profiles to parameters #1276 - Ability to diff CRconfig.json #1277 - Ability to snapshot CRConfig.json #1278 - Ability to assign/unassign delivery services to a user #1279 - Ability to send new user registration #1281 - Ability to manage steering targets #1282 - Ability to compare profiles #1284 - Server checks view #1285 - Manage federations #1286 - Ability to clone delivery service assignments from one cache to another #1295 - Re-add managment interface code to gen iso #1300 - Add the ability to assign multiple delivery services to a cache #1304 - Add confirmation dialog when queuing updates on a CDN #1308 - Need a way to view in the Traffic Portal the Traffic Ops URL #1309 - Move Generic Go Libs out of Traffic Monitor #1324 - Generating DNSSEC keys through the API results in internal server error #1330 - seeds.sql minor correction required #1350 - TrafficOps: use cdn.conf as JSON instead of perl #1363 - Profile Parameter Page Should List Profile(s) #1364 - Traffic Ops golang -- GET /api/1.2/system/info endpoint #1374 - Only create bonding config if interface name is 'bond0' #1379 - Failure in launching traffic-portal in dev-environment #1397 - ORT tries to get ats_uid before installing trafficserver #1398 - Get ats_uid after packages are installed #1400 - Traffic Portal dashboard page won't load if any view resolves fail #1406 - TP - provide a better experience when assigning caches to a delivery service #1409 - Add URI Signing #1433 - Fixed the response for a deliveryservice with no urisigning keys. #1434 - TO API/TPv2 should have some ability to default geo miss long/lat for a delivery service #1436 - Login can result in no header #1437 - updated to be idiomatic and include query parameter narrowing #1438 - Fix for cachegroup query parameter misalignment #1439 - Updates to the api uri signing service. #1440 - Breadcrumb navigation doesn't work on ds ssl key generation page #1441 - Provide warning when assigning/removing parameters from a profile #1442 - When assigning ds's to a caches, add ds type to table for filtering #1443 - Hide 'View Config Files' from server form if server.type != EDGE* or MID #1444 - Cannot delete the CDN if did snapshot before #1460 - TP - no dot allowed in server hostname #1463 - surface HTTP response body in HTTPError #1465 - Portal -- SSL certificates for HTTP* deliveryservices should be created as wildcards #1466 - False not NULL #1484 - Handle the case where there is no signingAlgorithm or signed params s… #1497 - Change cdn.name to cdn.domain_name in DeliveryServiceInfoForDomainList #1503 - Golang phys locations #1507 - /api/regions?division=:divId no longer filters regions by division #1508 - /api/asns?cachegroup=:cgId no longer filters asns by cachgroup ID #1510 - Provide the ability to show only changed parts (added/removed) in TP of a snapshot diff #1521 - TP continues to try refresh after 401 #1531 - Traffic Portal - Cloning Delivery Services sort order and dropping existing delivery services #1533 - TP unique value error trying to store NULL IPv6 address for server #1537 - We need better feedback for why create/update/save buttons are disabled in Traffic Portal. #1543 - Loosen up API validation on delivery service create/update #1551 - [Issue-1550] TO golang -- adds orderby= parameter handling to endpoints #1554 - TO/TP - query string handling options force cacheurl on option 1 #1560 - Golang Proxy Scrypt module to be compatible with the Perl Crypt::ScryptKDF lib #1569 - TrafficPortal DNS Bypass TTL storing empty string #1577 - TO API should not try to insert any non-integer into an integer DB column #1582 - Attempting to delete a user in Traffic Portal results in "Resource Not Found" #1584 - When creating a new server, only profiles for the same cdn should be available for selection #1599 - Ops: Add Multiple custom access logs and Header field for ATS #1604 - Initial version of the TO API test tool via the Golang TO Client #1605 - TP - when generating a cert for a DS, the common name field should be editable #1606 - [Issue-1283] - adds export/import profile functionality to TP and basically just lev… #1609 - Updated documentation for the Servers API #1620 - API: Server API sets xmpp_id to null #1630 - No delivery service prefix after upgrading to 2.2 #1634 - Provide simple/advanced view for creating/editing delivery services in TP #1638 - Traffic Portal - Gen Iso: Copy server attributes no longer works #1642 - Attempt to unlink parameter from DS profile incorrectly shows 0 servers affected #1653 - Add context around added/removed pieces of CDN snapshot when doing a snapshot diff #1655 - TP: Bug when updating a user role a new password must be entered #1661 - Dockerize Traffic Ops API tests #1664 - Traffic Portal doesn't restart using systemctl #1697 - Traffic Portal: Can't add a new server (Key (status)=(1) is not present) #1699 - Refreshing Cache Checks table should retain state of the table #1705 - When creating multiple DS's, the values of the last DS are persisted to the new DS form #1714 - TP: Need to remove parameter data size limit #1720 - Adding TXT Records support #1740 - Read-only users cannot update their own password #1750 - /traffic_ops/app/public/images/ contains non-free images #1761 - Traffic OPS ZIPCode #1768 - Add Traffic Monitor Plugin System for Cache Stats Formats #1769 - Monitor Stats Format Plugin For Delivery Service Names #1775 - api/1.3/profiles is slow #1777 - TO golang -- api/1.3/parameters?orderby=id produces an error #1792 - changed maxLength of zip code to be longer. #1797 - TO golang -- time format incorrect #1800 - Fix deep_caching_type validator regex #1807 - Replacing ccr during config file generation #1810 - [Issue 1809] prefetch type for ds type query #1811 - Traffic Ops: remove unused get_type call that makes extra sql queries #1814 - response fields are not complete in POST/PUT steering target APIs #1816 - Value isn't validated for STEERING_WEIGHT type target in POST/PUT steering target APIs #1825 - updated docs to add some missing data #1826 - Traffic Stats error when trying to get LastSummaryTime #1829 - GET /api/1.3/cdns returns wrong response code and response format when unauthorized or forbidden #1833 - [Issue-1830] - increases portal priv level to above R/O role to better reflect what … #1844 - DeepCachingType -- "NEVER" is now default #1851 - browser-icons.png should be removed #1852 - Document spinner-small.gif license #1854 - Added 2.0 to 2.2 migration document #1858 - url parameters for last_updated are not parsed correctly #1860 - normalize url query parameters handling and where and orderby clause construction #1862 - [Issue-1855] - messing with the hostname causes mismatches when the ssl keys are upd… #1873 - License fixes #1878 - Add docs per-DS routing migration #1880 - Add Apache license headers, license file refs #1882 - 2.2.x license headers, missing license file libraries #1883 - Add docs per-DS routing migration #1917 - [Issue 1916] extra flag needed for go build in rpm

    Source code(tar.gz)
    Source code(zip)
  • RELEASE-2.1.0(Jan 22, 2018)

    Changes with Traffic Control 2.1.0 #878 - [TC-488] Docs - Multi Site Origin not up to date #879 - [TC-490] mso.qstring_handling parameter is checked but not documented #880 - [TC-489] Multi Site Origin - Invalid default values for multiple config params #901 - [TC-377] Default profiles for EDGE and MID are missing after initial install #906 - [TC-327] ConfigFiles.pm detects blank as not null and tries to gen files GH #1090 #909 - [TC-301] creating https delivery service and not setting to active still looks for cert. Github Issue #1086 #912 - [TC-169] TR download the RGB file continuously when the same RGB file on server #915 - [TC-116] remap.config order is different on master (postgres) than it is on 1.8. #980 - [TC-552] Global parameters may be duplicated when seeds.sql is run #988 - [TC-514] ORT: Change Traffic Ops hostname in middle of ORT run #1001 - [TC-408] Documentation for creating ssl keys is missing a field. #1090 - [TC-518] ToCDUCheck and ToCHRCheck: Value formatted as float instead of int #1115 - [TC-429] - TP - removes map due to license incompatibility #1118 - POST /api/1.2/deliveryserviceserver doesn't update header rewrite, regex remap and cacheurl #1167 - [BACKPORT][TC-518] ToCDUCheck and ToCHRCheck: Value formatted as float instead of int #1090 #1168 - [BACKPORT][TC-514] ORT: Change Traffic Ops hostname in middle of ORT run #1195 - [Issue-1189] - Backport to 2.1.x - delivery service tenancy is forced on creation and update if use_tenancy is on #1375 - BACKPORT - fix docs for Deliveryservice/sslkeys/generate and deliveryservice/ssl… #1386 - Traffic Portal V2 main menu has two rows labeled "Tenants"

    Source code(tar.gz)
    Source code(zip)
Owner
The Apache Software Foundation
The Apache Software Foundation
A simple network analyzer that capture http network traffic

httpcap A simple network analyzer that captures http network traffic. support Windows/MacOS/Linux/OpenWrt(x64) https only capture clienthello colorful

null 2 Oct 25, 2022
Headscale - An open source, self-hosted implementation of the Tailscale control server

Headscale - An open source, self-hosted implementation of the Tailscale control server

Juan Font 9.9k Dec 29, 2022
The Akita CLI for watching network traffic, automatically generating API specs, and diffing API specs.

Catch breaking changes faster Akita builds models of your APIs to help you: Catch breaking changes on every pull request, including added/removed endp

Akita Software 230 Jan 2, 2023
Schema-free, document-oriented streaming database that optimized for monitoring network traffic in real-time

Basenine Schema-free, document-oriented streaming database that optimized for monitoring network traffic in real-time. Featured Aspects Has the fastes

UP9 38 Nov 2, 2022
🐶 A modern alternative network traffic sniffer.

sniffer A modern alternative network traffic sniffer inspired by bandwhich(Rust) and nethogs(C++). sniffer.mov Introduction 中文介绍 sniffer is designed f

dongdong 530 Dec 29, 2022
Capdns is a network capture utility designed specifically for DNS traffic. This utility is based on tcpdump.

Capdns is a network capture utility designed specifically for DNS traffic. This utility is based on tcpdump. Some of its features include: Unde

Infvie Envoy 10 Feb 26, 2022
Go Http Proxy with Authentication, Schedule Control, and Portal Control

goproxy Go Http Proxy with Authentication, Schedule Control, and Portal Control Why this tool? You may need to restrict my kids's youtube watch time i

Wu Shilin 2 Mar 27, 2022
Open source 5G core network base on 3GPP R15

What is free5GC The free5GC is an open-source project for 5th generation (5G) mobile core networks. The ultimate goal of this project is to implement

free5GC 1.5k Jan 4, 2023
Openp2p - an open source, free, and lightweight P2P sharing network

It is an open source, free, and lightweight P2P sharing network. As long as any device joins in, you can access them anywhere

null 199 Dec 31, 2022
Project Kebe is the open-source Snap Store implementation.

Introduction Kebe intends to be a full replacement for the Snap Store. Quickstart Once you have an environment setup (for instance using https://githu

Free To Compute 25 Nov 9, 2022
An open source Pusher server implementation compatible with Pusher client libraries written in Go

Try browsing the code on Sourcegraph! IPÊ An open source Pusher server implementation compatible with Pusher client libraries written in Go. Why I wro

Hava 1 Aug 27, 2022
Apache RocketMQ go client

RocketMQ Client Go A product ready RocketMQ Client in pure go, which supports almost the full features of Apache RocketMQ, such as pub and sub message

The Apache Software Foundation 1k Jan 4, 2023
Paster 服务端核心模块,使用字节跳动开源的微服务 RPC 框架 KiteX ,以 Apache Thrift 作为通信协议

paster_core Paster 服务端核心模块,使用字节跳动开源的微服务 RPC 框架 KiteX ,以 Apache Thrift 作为通信协议。 Todo: 实现 KiteX 服务注册扩展接口,使用 Consul 服务注册 新增 frame 层,通过 PreProcessor, PostP

AmeiDance 11 Aug 4, 2022
apache dubbo gateway,L7 proxy,virtual host,k8s ingress controller.

apache dubbo gateway,L7 proxy,virtual host,k8s ingress controller.

null 0 Jul 22, 2022
Message relay written in golang for PostgreSQL and Apache Kafka

Message Relay Message relay written in golang for PostgreSQL and Apache Kafka Requirements Docker and Docker Compose Local installation and using dock

null 0 Dec 19, 2021
Traefik plugin to proxy requests to owasp/modsecurity-crs:apache container

Traefik Modsecurity Plugin Traefik plugin to proxy requests to owasp/modsecurity-crs:apache Traefik Modsecurity Plugin Demo Full Configuration with do

Alexis Couvreur 64 Dec 27, 2022