{"id":1054,"date":"2025-08-01T19:33:35","date_gmt":"2025-08-01T22:33:35","guid":{"rendered":"https:\/\/www.apptecbr.com\/pt-br\/?page_id=1054"},"modified":"2025-08-11T13:57:37","modified_gmt":"2025-08-11T16:57:37","slug":"_middleware-changelog","status":"publish","type":"page","link":"https:\/\/www.apptecbr.com\/pt-br\/_middleware-changelog\/","title":{"rendered":"Middleware changelog"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1054\" class=\"elementor elementor-1054\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-66ad6bf5 e-flex e-con-boxed e-con e-parent\" data-id=\"66ad6bf5\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e0e1ed0 elementor-widget elementor-widget-spacer\" data-id=\"e0e1ed0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-acb32e7 e-con-full e-flex e-con e-parent\" data-id=\"acb32e7\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e4dba6d elementor-widget elementor-widget-heading\" data-id=\"e4dba6d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><span class=\"notranslate\">Middleware Changelog<\/span>\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4af7d8f e-flex e-con-boxed e-con e-parent\" data-id=\"4af7d8f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-cdc280a elementor-widget elementor-widget-shortcode\" data-id=\"cdc280a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><div class=\"viaweb-showtxt\"><pre style=\"white-space: pre-wrap; line-height: 1.0; margin: 20;\">Vers\u00e3o 2.0.1e\r\n    M- Somente mudan\u00e7as no forma de controle dos limites das vers\u00f5es Starter\r\n       e Advanced.\r\n\r\nVers\u00e3o 2.0.1d\r\n    M- Aumenta o n\u00famero m\u00e1ximo de device\/customer para 3 na vers\u00e3o Advanced Edition\r\n    C- Resolve eventual ocorr\u00eancia de exception em getStatus\r\n \r\nVers\u00e3o 2.0.1c\r\n    M- Melhora as indica\u00e7\u00f5es de erro para as APIs cliente de subaccounts\r\n\r\nVers\u00e3o 2.0.1b\r\n    M- Se DRM estiver desabilitado retorna sempre o flag de criptografia como\r\n       falso para os canais\r\n\r\nVers\u00e3o 2.0.1a\r\n    C- Regra Geo da Globo estava verificando lineup ao inv\u00e9s da bas de canais\r\n\r\nVers\u00e3o 2.0.1\r\n    M- Adiciona suporte a Regras por Canal. Primeira regra implementada \u00e9 a Geo\r\n       localiza\u00e7\u00e3o para emissora Globo aberta\r\n    M- Adiciona alguns logs de categoria Debug na API Connect\r\n    M- Altera a p\u00e1gina de configura\u00e7\u00e3o do canal para suportar fluxo de entrada multi-perfil.\r\n       Pode selecionar a resolu\u00e7\u00e3o a ser usada no fluxo multi-perfil\r\n\r\nVers\u00e3o 2.0.0c\r\n    M- Adiciona suporte a posters quando recebendo EPD no formato XMLTV\r\n\r\nVers\u00e3o 2.0.0b\r\n    M- Melhora do desempenho sob Windows. Somente para ambiente de\r\n       desenvolvimento\r\n\r\nVers\u00e3o 2.0.0a\r\n    C- Mudan\u00e7a a forma de identificar as diversas vers\u00f5es do Middleware\r\n\r\nVers\u00e3o 2.0.0 - Base: vers\u00e3o 1.5.2i\r\n    I- In\u00edcio da implementa\u00e7\u00e3o do suporte a VOD\r\n\r\n--------------------------------------------------------------------------------------------------------\r\n\r\nVers\u00e3o 1.5.2l\r\n    M- Aumenta o n\u00famero m\u00e1ximo de device\/customer para 3 na vers\u00e3o Advanced Edition\r\n\r\nVers\u00e3o 1.5.2k\r\n    C- Resolve eventual ocorr\u00eancia de exception em getStatus\r\n\r\nVers\u00e3o 1.5.2j\r\n    M- Alterar a p\u00e1gina de configura\u00e7\u00e3o do canal para suportar fluxo de entrada multi-perfil.\r\n       Pode selecionar a resolu\u00e7\u00e3o a ser usada no fluxo multi-perfil\r\n\r\nVers\u00e3o 1.5.2i\r\n    C- Corrigir resultado da pesquisa quando o nome do dispositivo tem ap\u00f3strofo\r\n    M- Registrar ID da conta no login do cliente\r\n\r\nVers\u00e3o 1.5.2h\r\n    M- Adicionar novas APIs de DRM\r\n\r\nVers\u00e3o 1.5.2g\r\n    M- Suporte para MultiDRM (Widevine e Fairplay)\r\n\r\nVers\u00e3o 1.5.2f\r\n    M- Registrar as credenciais usadas em caso de falha no login do cliente\r\n\r\nVers\u00e3o 1.5.2e\r\n    C- N\u00e3o estava calculando corretamente o n\u00famero de licen\u00e7as usadas para\r\n       operadores cujo nome \u00e9 uma substring de outros operadores\r\n\r\nVers\u00e3o 1.5.2d\r\n    C- O filtro de tipo de dispositivo para \"lineup\" efetivo n\u00e3o funcionava\r\n       como esperado\r\n\r\nVers\u00e3o 1.5.2c\r\n    M- Em vez de relatar erro quando o logotipo do canal for ajustado, manter\r\n       a imagem original\r\n    C- Alterar um \"lineup\" poderia apagar o conte\u00fado dos pacotes do canal\r\n       que n\u00e3o pertencem a esse \"lineup\"\r\n\r\nVers\u00e3o 1.5.2b\r\n    C- Corrigir erro na API queryMid, que poderia causar uma exce\u00e7\u00e3o.]\r\n\r\nVers\u00e3o 1.5.2a\r\n    M- A atualiza\u00e7\u00e3o do EPG retorna mais informa\u00e7\u00f5es sobre o erro detectado\r\n\r\nVers\u00e3o 1.5.2\r\n    M- Formato de sa\u00edda selecion\u00e1vel para o Packager\r\n    M- Adicionar uso de CPU aos dados de informa\u00e7\u00e3o\r\n\r\nVers\u00e3o 1.5.1b\r\n    M- Lineups podem especificar prefer\u00eancia a multicast sobre unicast.\r\n       Isto permite ter canais com tanto o endere\u00e7o multicast como o\r\n       endere\u00e7o unicast\r\n\r\nVers\u00e3o 1.5.1a\r\n    M- Suporte a DRM completado\r\n    M- Todas as APIs relacionadas com DRM verificam se o IP \u00e9 valido\r\n       e requerem HTTPS\r\n\r\nVers\u00e3o 1.5.1\r\n    I- Adiciona suporte a DRM\r\n    M- Suporte \u00e0s vers\u00f5es comerciais Starter e Advanced\r\n\r\nVers\u00e3o 1.5.0\r\n    I- Adiciona categorias nos canais\r\n    I- Implementa IP-check (faixa \/ m\u00e1scara) no lineup\r\n    M- Propriedade \"mpegts\" passa a ser um atributo dos canais com\r\n       source= Packager\r\n    M- Customer-update API pode, se pedido, preservar os\r\n       devices del uma conta inativada\r\n    M- Customers passam a ter idioma preferido\r\n    M- DVR agora \u00e9 um recurso que pode ser habilitado\/desabilitado\r\n       por usu\u00e1rio ou Service Package\r\n\r\nVers\u00e3o 1.4.4c\r\n    C- Auto-Provisioning-Count n\u00e3o estava funcionando\r\n    M- Aceita mais \"advisory-rating-codes\" para suportar XMLTV Revel\r\n\r\nVers\u00e3o 1.4.4b\r\n    M- Sanitiza\u00e7\u00e3o de SQL\r\n\r\nVers\u00e3o 1.4.4a\r\n    M- Adiciona configura\u00e7\u00e3o do n\u00edvel de log para Packager\r\n\r\nVers\u00e3o 1.4.4\r\n    M- Permitir a cria\u00e7\u00e3o de Channel Packages espec\u00edficos por tipo de dispositivo\r\n    M- A p\u00e1gina de configura\u00e7\u00e3o mostra o tempo de atividade do servidor\r\n    C- N\u00e3o estava observando o status do lineup ou dos channel\/service-packages\r\n       ao construir o lineup efetivo de uma conta\r\n\r\nVers\u00e3o 1.4.3\r\n    M- Adiciona Clint-API para permitir que todos os APPs informem o modelo\r\n       e tipo do dispositivo\r\n\r\nVers\u00e3o 1.4.2\r\n    M- Adicionar suporte para MPEG2TS transportado em HTTP\r\n    M- A senha do cliente agora n\u00e3o diferencia mai\u00fasculas de min\u00fasculas\r\n    C- Algumas corre\u00e7\u00f5es\r\n\r\nVers\u00e3o 1.4.1\r\n    M- Adicionar suporte para MPTS e transcodifica\u00e7\u00e3o para Apptec Packager\r\n\r\nVers\u00e3o 1.4.0\r\n    I- O recurso opcional, Apptec Packager, j\u00e1 est\u00e1 dispon\u00edvel\r\n    M- Os logotipos do canal agora s\u00e3o convertidos para PNG 160x90, se necess\u00e1rio,\r\n       quando carregados\r\n    M- Compat\u00edvel com PHP 8+\r\n    C- Algumas corre\u00e7\u00f5es\r\n\r\nVers\u00e3o 1.3.1\r\n    M- Pacotes de Canais e Servi\u00e7os agora podem se referir a um\r\n       ou todos os lineups de um operador. O lineup efeitivo para\r\n       uma conta ser\u00e1 obtido com base em seu lineup\r\n    C- N\u00e3o estava filtrando canais inativos do lineup\r\n\r\nVers\u00e3o 1.3.0b\r\n    M- Impedir que o agendador de qualquer gravador fique preso no caso\r\n       de problemas de acesso ao gravador. O agendador ser\u00e1 executado de\r\n       qualquer maneira se outra inst\u00e2ncia tiver 5 ou mais minutos\r\n\r\nVers\u00e3o 1.3.0a\r\n    M- Distribui a atualiza\u00e7\u00e3o do EPG em uma janela de 32 minutos,\r\n       com base nos dois \u00faltimos d\u00edgitos do MAC do dispositivo\r\n\r\nVers\u00e3o 1.3.0\r\n    I- Implementar QoE (Analytics)\r\n\r\nVers\u00e3o 1.2.9c\r\n    C- Corrigido o c\u00e1lculo do n\u00famero de dias de EPG a buscar\r\n\r\nVers\u00e3o 1.2.9b\r\n    M- Emails s\u00e3o enviados com middleware de origem\r\n    M- Altera\u00e7\u00e3o do fluxo de esquecimento de senha na p\u00e1gina de login\r\n\r\nVers\u00e3o 1.2.9a\r\n    M- Verifique se o n\u00famero m\u00e9dio di\u00e1rio de programas por canal em\r\n       um novo EPG \u00e9 o m\u00ednimo esperado\r\n\r\nVers\u00e3o 1.2.9\r\n    I- Implementa APIs para bloqueio de canais\r\n\r\nVers\u00e3o 1.2.8\r\n    I- Implementa API para pesquisa por t\u00edtulo de programa\r\n\r\nVers\u00e3o 1.2.7\r\n    M- Cliente->Export - Inclui canal e lista de pacotes de servi\u00e7os\r\n    M- A barra de menu agora tem \u00edcones diferentes para cada se\u00e7\u00e3o\r\n    M- A chave do produto agora aceita at\u00e9 1 milh\u00e3o de dispositivos\r\n    C- Inser\u00e7\u00e3o do cliente - N\u00e3o estava gerando o customerID correto\r\n       quando a vers\u00e3o do MySql \u00e9 8+\r\n    M- Suporta zipped-multi-file XMLTV EPG\r\n\r\nVers\u00e3o 1.2.6\r\n    M- Alterada a p\u00e1gina de administra\u00e7\u00e3o ndvr_rules para fornecer uma melhor usabilidade.\r\n    C- Quando um lineup era criado ou atualizado, as regras de grava\u00e7\u00e3o n\u00e3o eram\r\n       hedadas dos outros lineups do mesmo operador.\r\n\r\nVers\u00e3o 1.2.5\r\n    I- Tempo de desligamento autom\u00e1tico do STB configur\u00e1vel por operador \/ customer\r\n\r\nVers\u00e3o 1.2.4\r\n    I- Adiciona bot\u00e3o \"Dados Estat\u00edsticos\" em Admin -> Devices\r\n    M- Adiciona \"p\u00e1gina de abertura\" \u00e0 configura\u00e7\u00e3o do Operador\r\n\r\nVers\u00e3o 1.2.3\r\n    M- Redu\u00e7\u00e3o da lat\u00eancia dos STB \u00e0 resposta aos comandos\/altera\u00e7\u00f5es, que passam\r\n       tamb\u00e9m a detectad-los quando realizam atualiza\u00e7\u00f5es de EPG. Para aproveitar\r\n       desta mudan\u00e7a, o STB deve estar executando a vers\u00e3o 2.7.2c ou superior da WebUI.\r\n    M- Melhora na velocidade de atualiza\u00e7\u00e3o de EPG pelo servidor.\r\n    M- O relat\u00f3rio do dispositivo agora pode ser solicitado no Portal do Administrador e\r\n       ser direcionado para o e-mail do usu\u00e1rio do solicitante.\r\n       IMPORTANTE: os dados do relat\u00f3rio do dispositivo n\u00e3o t\u00eam significado para\r\n       os operadores e s\u00e3o \u00fateis apenas para suporte pessoal da Apptec.\r\n    C- Quando a atualiza\u00e7\u00e3o do EPG era iniciada em um navegador, nenhuma outra p\u00e1gina de\r\n       administra\u00e7\u00e3o abriria no mesmo navegador at\u00e9 o final da atualiza\u00e7\u00e3o.\r\n\r\nVers\u00e3o 1.2.2\r\n    M- A perman\u00eancia de catchup aceita fra\u00e7\u00e3o de dias (horas).\r\n    M- Elimina automaticamente as grava\u00e7\u00f5es de canais que n\u00e3o s\u00e3o\r\n       mais gravados em um gravador.\r\n    M- Armazena timestamp do \u00faltimo login nos dispositivos.\r\n    M- Se dispon\u00edvel, armazena IP real do dispositivo em vez de IP de NAT.\r\n\r\nVers\u00e3o 1.2.1\r\n    M- O cliente n\u00e3o pode mais se conectar a uma conta de um operador diferente do seu.\r\n    M- A exclus\u00e3o de lineups n\u00e3o remove mais clientes, em vez disso\r\n       apenas remova o lineup e seus pacotes destes.\r\n    M- Atualizar IP quando o dispositivo solicitar status.\r\n    M- O usu\u00e1rio Admin inicial agora \u00e9 chamado Main Administrator.\r\n    M- O operador afiliado n\u00e3o pode ter configura\u00e7\u00e3o ou permiss\u00f5es de canal.\r\n    M- N\u00e3o \u00e9 poss\u00edvel alterar as permiss\u00f5es do Main Administrator.\r\n    M- N\u00e3o \u00e9 poss\u00edvel desativar o Main Administrator.\r\n    M- Desativa o m\u00f3dulo \"Elementos\" do menu.\r\n    C- Corrige bugs no nDVR.\r\n    C- A exclus\u00e3o de lineups n\u00e3o estava removendo depend\u00eancias.\r\n    C- Login com customerID de cliente n\u00e3o estava OK.\r\n    C- Bloqueia a cria\u00e7\u00e3o de customers com customerID num\u00e9rico.\r\n    C- Ajuste os pacotes do canal quando os lineups forem atualizados.\r\n    C- Remover usu\u00e1rios administradores quando o operador for exclu\u00eddo.\r\n    C- A remo\u00e7\u00e3o do operador sempre exibia uma mensagem que n\u00e3o poderia\r\n       ser removido, mesmo se a remo\u00e7\u00e3o fosse ok.\r\n\r\nVers\u00e3o 1.2.0\r\n    I- nDVR Controller liberado.\r\n    I- Adicionar imagens e documentos ao pacote de backup.\r\n\r\nVers\u00e3o 1.1.3\r\n    I- Adicionado gerenciamento de mensagem de assinante.\r\n    I- Adicionados par\u00e2metros de nDVR aos operadores.\r\n    I- In\u00edcio da implementa\u00e7\u00e3o do nDVR. Adicionada p\u00e1gina de configura\u00e7\u00e3o de regras.\r\n\r\nVers\u00e3o 1.1.2\r\n    I- Implementa detec\u00e7\u00e3o de mudan\u00e7a de servi\u00e7o.\r\n\r\nLegenda:\r\n  I- Novos recursos ou altera\u00e7\u00f5es significantes em recursos existentes\r\n  M- Altera\u00e7\u00f5es menos significantes em recursos existentes\r\n  C- Corre\u00e7\u00e3o de problemas\r\n<\/pre><\/div><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Middleware Changelog<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-1054","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.apptecbr.com\/pt-br\/wp-json\/wp\/v2\/pages\/1054","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.apptecbr.com\/pt-br\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.apptecbr.com\/pt-br\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.apptecbr.com\/pt-br\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.apptecbr.com\/pt-br\/wp-json\/wp\/v2\/comments?post=1054"}],"version-history":[{"count":40,"href":"https:\/\/www.apptecbr.com\/pt-br\/wp-json\/wp\/v2\/pages\/1054\/revisions"}],"predecessor-version":[{"id":1159,"href":"https:\/\/www.apptecbr.com\/pt-br\/wp-json\/wp\/v2\/pages\/1054\/revisions\/1159"}],"wp:attachment":[{"href":"https:\/\/www.apptecbr.com\/pt-br\/wp-json\/wp\/v2\/media?parent=1054"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}